diff options
author | Dongxiao Xu <dongxiao.xu@intel.com> | 2010-10-15 16:45:21 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-10-15 11:30:49 +0100 |
commit | 13a702e9e572a2dc9f6b52a1531a2237d4d98ff1 (patch) | |
tree | bc29e988d666341a1efd8823fa1a2c406985ba81 /meta/recipes-sato | |
parent | 485839d873287176a3c816c90ea2b5514268d7d5 (diff) | |
download | openembedded-core-13a702e9e572a2dc9f6b52a1531a2237d4d98ff1.tar.gz openembedded-core-13a702e9e572a2dc9f6b52a1531a2237d4d98ff1.tar.bz2 openembedded-core-13a702e9e572a2dc9f6b52a1531a2237d4d98ff1.tar.xz openembedded-core-13a702e9e572a2dc9f6b52a1531a2237d4d98ff1.zip |
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>
Diffstat (limited to 'meta/recipes-sato')
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/gtk_multithread_safe.patch | 38 | ||||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/owl-video-widget.desktop (renamed from meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop) | 0 | ||||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/owl-video-widget.png (renamed from meta/recipes-sato/owl-video-widget/files/owl-video-widget.png) | bin | 4923 -> 4923 bytes | |||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/stock_media-play.png (renamed from meta/recipes-sato/owl-video-widget/files/stock_media-play.png) | bin | 329 -> 329 bytes | |||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/stock_volume-0.png (renamed from meta/recipes-sato/owl-video-widget/files/stock_volume-0.png) | bin | 570 -> 570 bytes | |||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/stock_volume-max.png (renamed from meta/recipes-sato/owl-video-widget/files/stock_volume-max.png) | bin | 689 -> 689 bytes | |||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/stock_volume-med.png (renamed from meta/recipes-sato/owl-video-widget/files/stock_volume-med.png) | bin | 630 -> 630 bytes | |||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video/stock_volume-min.png (renamed from meta/recipes-sato/owl-video-widget/files/stock_volume-min.png) | bin | 570 -> 570 bytes | |||
-rw-r--r-- | meta/recipes-sato/owl-video-widget/owl-video_svn.bb | 3 |
9 files changed, 40 insertions, 1 deletions
diff --git a/meta/recipes-sato/owl-video-widget/owl-video/gtk_multithread_safe.patch b/meta/recipes-sato/owl-video-widget/owl-video/gtk_multithread_safe.patch new file mode 100644 index 000000000..e153c5e3b --- /dev/null +++ b/meta/recipes-sato/owl-video-widget/owl-video/gtk_multithread_safe.patch @@ -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. diff --git a/meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop b/meta/recipes-sato/owl-video-widget/owl-video/owl-video-widget.desktop index e7af07ee6..e7af07ee6 100644 --- a/meta/recipes-sato/owl-video-widget/files/owl-video-widget.desktop +++ b/meta/recipes-sato/owl-video-widget/owl-video/owl-video-widget.desktop diff --git a/meta/recipes-sato/owl-video-widget/files/owl-video-widget.png b/meta/recipes-sato/owl-video-widget/owl-video/owl-video-widget.png Binary files differindex f463fe186..f463fe186 100644 --- a/meta/recipes-sato/owl-video-widget/files/owl-video-widget.png +++ b/meta/recipes-sato/owl-video-widget/owl-video/owl-video-widget.png diff --git a/meta/recipes-sato/owl-video-widget/files/stock_media-play.png b/meta/recipes-sato/owl-video-widget/owl-video/stock_media-play.png Binary files differindex c2b9c582a..c2b9c582a 100644 --- a/meta/recipes-sato/owl-video-widget/files/stock_media-play.png +++ b/meta/recipes-sato/owl-video-widget/owl-video/stock_media-play.png diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-0.png b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-0.png Binary files differindex f3f57143d..f3f57143d 100644 --- a/meta/recipes-sato/owl-video-widget/files/stock_volume-0.png +++ b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-0.png diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-max.png b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-max.png Binary files differindex 03f5a03b4..03f5a03b4 100644 --- a/meta/recipes-sato/owl-video-widget/files/stock_volume-max.png +++ b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-max.png diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-med.png b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-med.png Binary files differindex f774e42bb..f774e42bb 100644 --- a/meta/recipes-sato/owl-video-widget/files/stock_volume-med.png +++ b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-med.png diff --git a/meta/recipes-sato/owl-video-widget/files/stock_volume-min.png b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-min.png Binary files differindex f3f57143d..f3f57143d 100644 --- a/meta/recipes-sato/owl-video-widget/files/stock_volume-min.png +++ b/meta/recipes-sato/owl-video-widget/owl-video/stock_volume-min.png diff --git a/meta/recipes-sato/owl-video-widget/owl-video_svn.bb b/meta/recipes-sato/owl-video-widget/owl-video_svn.bb index 50027f5f2..07c52ef32 100644 --- a/meta/recipes-sato/owl-video-widget/owl-video_svn.bb +++ b/meta/recipes-sato/owl-video-widget/owl-video_svn.bb @@ -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 \ |