Use gdk_threads_enter/gdk_threads_leave to ensure gtk multithread safe
If the video player tries to play an unknown type file, it will enter the error_cb() function, which is called in another thread. Use gdk_threads_enter/gdk_threads_leave to ensure the safe of gtk multi-thread operation. This fixes [BUGID #474] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
@ -0,0 +1,38 @@
|
|||
Use gdk_threads_enter/gdk_threads_leave to ensure gtk multithread safe
|
||||
|
||||
If the video player tries to play an unknown type file, it will enter
|
||||
the error_cb() function, which is called in another thread.
|
||||
Use gdk_threads_enter/gdk_threads_leave to ensure the safe of gtk
|
||||
multi-thread operation.
|
||||
|
||||
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
||||
|
||||
diff -ruN video-orig/src/video.c video/src/video.c
|
||||
--- video-orig/src/video.c 2010-10-15 16:07:26.522346398 +0800
|
||||
+++ video/src/video.c 2010-10-15 16:25:51.780296717 +0800
|
||||
@@ -96,6 +96,7 @@
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
|
||||
+ gdk_threads_enter();
|
||||
dialog = gtk_message_dialog_new (data->window,
|
||||
GTK_DIALOG_NO_SEPARATOR,
|
||||
GTK_MESSAGE_ERROR,
|
||||
@@ -103,6 +104,7 @@
|
||||
error->message);
|
||||
gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
gtk_widget_destroy (dialog);
|
||||
+ gdk_threads_leave();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -606,7 +608,9 @@
|
||||
|
||||
gtk_widget_show_all (GTK_WIDGET (data->window));
|
||||
|
||||
+ gdk_threads_enter();
|
||||
gtk_main ();
|
||||
+ gdk_threads_leave();
|
||||
|
||||
/**
|
||||
* Cleanup.
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 329 B |
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 689 B After Width: | Height: | Size: 689 B |
Before Width: | Height: | Size: 630 B After Width: | Height: | Size: 630 B |
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 570 B |
|
@ -9,11 +9,12 @@ SECTION = "x11"
|
|||
DEPENDS = "libowl-av"
|
||||
|
||||
PV = "0.0+svnr${SRCREV}"
|
||||
PR = "r1"
|
||||
PR = "r2"
|
||||
|
||||
S = "${WORKDIR}/video"
|
||||
|
||||
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=video;proto=http \
|
||||
file://gtk_multithread_safe.patch \
|
||||
file://owl-video-widget.png \
|
||||
file://stock_media-play.png \
|
||||
file://stock_volume-0.png \
|
||||
|
|