summaryrefslogtreecommitdiff
path: root/source/l/notify-python/notify-python-0.1.1-fix-GTK-symbols.patch
blob: f985c01363a052ece4472093f97466009ce51739 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
diff -up notify-python-0.1.1/src/__init__.py.BAD notify-python-0.1.1/src/__init__.py
--- notify-python-0.1.1/src/__init__.py.BAD	2010-08-31 09:04:45.353844005 -0400
+++ notify-python-0.1.1/src/__init__.py	2010-08-31 09:04:49.281844300 -0400
@@ -1 +1,21 @@
+"""
+Fedora's libnotify.so is not linked against GTK2 or GTK3. The idea
+was to support being linked against different parallel-installable
+GTK stacks.
+
+Unfortunately, python needs to jump through some special hoops in order
+to share symbols with extension modules, specifically, pygtk, which does
+link against GTK2.
+
+Without using sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL),
+the result is:
+libnotify-WARNING **: Missing symbol 'gdk_screen_make_display_name'
+
+Thanks to David Malcolm for figuring out the workaround.
+"""
+import ctypes
+import sys
+sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL)
+import gtk
+
 from _pynotify import *