[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: