Bug#706276: calls gtk_main() without holding gdk lock
Package: lxpanel
Version: 0.5.10-1
Severity: important
Tags: patch
User: debian-bsd@lists.debian.org
Hi!
lxpanel calls gtk_main() without first obtaining the gdk lock
(gdk_threads_enter()) which needs to be called -- according to gtk
documentation -- for every GTK function. This is probably harmless on
x86 but segfaults on kfreebsd. Patch attached.
Christoph
-- System Information:
Debian Release: 7.0
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: kfreebsd-amd64 (x86_64)
Kernel: kFreeBSD 10.0-0-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages lxpanel depends on:
ii libatk1.0-0 2.4.0-2
ii libc0.1 2.13-38
ii libcairo2 1.12.2-3
ii libfontconfig1 2.9.0-7.1
ii libfreetype6 2.4.9-1.1
ii libgdk-pixbuf2.0-0 2.26.1-1
ii libglib2.0-0 2.33.12+really2.32.4-5
ii libgtk2.0-0 2.24.10-2
ii libmenu-cache1 0.3.3-1
ii liboss-salsa2 4.1-build1052b-2
ii libpango1.0-0 1.30.0-1
ii libwnck22 2.30.7-1
ii libx11-6 2:1.5.0-1
ii lxmenu-data 0.1.2-2
lxpanel recommends no packages.
Versions of packages lxpanel suggests:
ii conkeror [www-browser] 1.0~~pre+git120901-1
ii dillo [www-browser] 3.0.2-2
ii epiphany-browser [www-browser] 3.4.2-2.1
ii iceweasel [www-browser] 14.0.1-2
ii konqueror [www-browser] 4:4.8.4-2
ii links2 [www-browser] 2.7-1
ii lxsession 0.4.6.1-4
ii lynx-cur [www-browser] 2.8.8dev.12-2
ii menu 2.1.46
ii midori [www-browser] 0.4.3+dfsg-0.1
ii w3m [www-browser] 0.5.3-8
-- no debconf information
Description: <short summary of the patch>
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.
.
lxpanel (0.5.10-1.1) UNRELEASED; urgency=low
.
* Non-maintainer upload.
* local rebuild
Author: Christoph Egger <christoph@debian.org>
---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>
--- lxpanel-0.5.10.orig/src/panel.c
+++ lxpanel-0.5.10/src/panel.c
@@ -1683,7 +1683,9 @@ restart:
if (config)
configure();
*/
+ gdk_threads_enter();
gtk_main();
+ gdk_threads_leave();
XSelectInput (GDK_DISPLAY(), GDK_ROOT_WINDOW(), NoEventMask);
gdk_window_remove_filter(gdk_get_default_root_window (), (GdkFilterFunc)panel_event_filter, NULL);
Reply to: