Update of /cvsroot/mplayerplug-in/mplayerplug-in/Source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16830/Source
Modified Files:
plugin-ui.cpp plugin.cpp
Log Message:
Fix hang in GTK2 after playing movie
Index: plugin-ui.cpp
===================================================================
RCS file: /cvsroot/mplayerplug-in/mplayerplug-in/Source/plugin-ui.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** plugin-ui.cpp 27 Feb 2004 20:35:53 -0000 1.21
--- plugin-ui.cpp 29 Feb 2004 15:00:19 -0000 1.22
***************
*** 578,581 ****
--- 578,582 ----
instance->player_window = 0;
gtk_widget_destroy(instance->gtkwidget);
+ gdk_window_process_all_updates();
#endif
Index: plugin.cpp
===================================================================
RCS file: /cvsroot/mplayerplug-in/mplayerplug-in/Source/plugin.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** plugin.cpp 27 Feb 2004 20:35:53 -0000 1.21
--- plugin.cpp 29 Feb 2004 15:00:19 -0000 1.22
***************
*** 227,234 ****
printf("~nsPluginInstance called\n");
- #ifdef GTK2_ENABLED
- gdk_window_process_all_updates();
- #endif
-
if (mScriptablePeer != NULL)
mScriptablePeer->SetInstance(NULL);
--- 227,230 ----
***************
*** 449,452 ****
--- 445,449 ----
ws = (NPSetWindowCallbackStruct *) aWindow->ws_info;
+
widget =
XtWindowToWidget((Display *) ws->display,
***************
*** 455,461 ****
XtAddCallback(widget, XtNdestroyCallback, DestroyCB,
(XtPointer) this);
XtAddEventHandler(widget, ExposureMask, FALSE,
(XtEventHandler) RedrawCB, this);
!
display = ws->display;
window = (Window) aWindow->window;
--- 452,459 ----
XtAddCallback(widget, XtNdestroyCallback, DestroyCB,
(XtPointer) this);
+ #ifdef X_ENABLED
XtAddEventHandler(widget, ExposureMask, FALSE,
(XtEventHandler) RedrawCB, this);
! #endif
display = ws->display;
window = (Window) aWindow->window;
***************
*** 474,483 ****
#ifdef GTK2_ENABLED
- if (!g_thread_supported()) g_thread_init(NULL);
- gdk_threads_init();
g_signal_connect(G_OBJECT(gtkwidget), "expose_event",
G_CALLBACK(gtkwin_expose), this);
- g_signal_connect(G_OBJECT(gtkwidget), "destroy",
- G_CALLBACK(gtk_widget_destroy),>kwidget);
gtk_widget_set_size_request(gtkwidget, aWindow->width,
aWindow->height);
--- 472,477 ----
***************
*** 561,565 ****
XMapWindow(GDK_WINDOW_XDISPLAY(gtkwidget->window),
GDK_WINDOW_XWINDOW(gtkwidget->window));
!
gdk_threads_leave();
--- 555,559 ----
XMapWindow(GDK_WINDOW_XDISPLAY(gtkwidget->window),
GDK_WINDOW_XWINDOW(gtkwidget->window));
!
gdk_threads_leave();
|