Skip to content

Commit 7eba35f

Browse files
committed
Fixed error in DisplayHandler.
Fixed PyGTK and wxpython examples, shutdown is more reliable.
1 parent 00a9b1c commit 7eba35f

5 files changed

Lines changed: 19 additions & 9 deletions

File tree

cefpython1/display_handler.pyx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,11 @@ cdef public void DisplayHandler_OnStatusMessage(CefRefPtr[CefBrowser] cefBrowser
8181
cef_types.cef_handler_statustype_t statusType) except * with gil:
8282

8383
try:
84-
pyBrowser = GetPyBrowserByCefBrowser(cefBrowser)
84+
# Second parameter = ignoreError.
85+
# Error happened here once when running wxpython example, pyBrowser was empty.
86+
pyBrowser = GetPyBrowserByCefBrowser(cefBrowser, True)
87+
if not pyBrowser:
88+
return
8589
pyText = CefStringToPyString(cefText)
8690
handler = pyBrowser.GetClientHandler("OnStatusMessage")
8791
if handler:
@@ -177,7 +181,11 @@ cdef public c_bool DisplayHandler_OnTooltip(CefRefPtr[CefBrowser] cefBrowser,
177181
CefString& cefText) except * with gil:
178182

179183
try:
180-
pyBrowser = GetPyBrowserByCefBrowser(cefBrowser)
184+
# To be safe, OnStatusMessage() needs it, so this callback probasbly also,
185+
# adding ignoreError=True.
186+
pyBrowser = GetPyBrowserByCefBrowser(cefBrowser, True)
187+
if not pyBrowser:
188+
return
181189
pyText = [CefStringToPyString(cefText)] # In/Out
182190
handler = pyBrowser.GetClientHandler("OnTooltip")
183191
if handler:

cefpython1/windows_example/pygtk_.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ def OnSize(self, widget, sizeAlloc):
109109
def OnExit(self, widget, data=None):
110110

111111
self.exiting = True
112-
cefpython.Shutdown()
113112
gtk.main_quit()
114113

115114
if __name__ == '__main__':
@@ -124,3 +123,4 @@ def OnExit(self, widget, data=None):
124123
gobject.threads_init() # timer for messageloop
125124
PyGTKExample()
126125
gtk.main()
126+
cefpython.Shutdown()

cefpython1/windows_example/pyqt.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ def stopTimer(self):
110110
app.exec_()
111111
app.stopTimer()
112112

113-
# Need to destroy QApplication() by assigning None, otherwise Shutdown() fails.
113+
# Need to destroy QApplication(), otherwise Shutdown() fails.
114114
# Unset main window also just to be safe.
115-
mainWindow = None
116-
app = None
115+
del mainWindow
116+
del app
117117

118118
cefpython.Shutdown()

cefpython1/windows_example/pyside.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,9 @@ def stopTimer(self):
128128
app.exec_()
129129
app.stopTimer()
130130

131-
# Need to destroy QApplication() by assigning None, otherwise Shutdown() fails.
131+
# Need to destroy QApplication(), otherwise Shutdown() fails.
132132
# Unset main window also just to be safe.
133-
mainWindow = None
134-
app = None
133+
del mainWindow
134+
del app
135135

136136
cefpython.Shutdown()

cefpython1/windows_example/wxpython.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,7 @@ def OnExit(self):
9999
print('wx.version=%s' % wx.version())
100100
app = MyApp(False)
101101
app.MainLoop()
102+
# Let wx.App destructor do the cleanup before calling cefpython.Shutdown().
103+
del app
102104

103105
cefpython.Shutdown()

0 commit comments

Comments
 (0)