Blame disper_0.3.1-fix-misbehavior-bug-1531704.diff

7c60c3c
diff -Naur disper/src/xrandr/__init__.py disper-new/src/xrandr/__init__.py
7c60c3c
--- disper/src/xrandr/__init__.py	2011-09-09 16:20:45.000000000 +0200
7c60c3c
+++ disper-new/src/xrandr/__init__.py	2016-07-28 15:33:34.391703460 +0200
7c60c3c
@@ -83,10 +83,20 @@
7c60c3c
 
7c60c3c
 from core import Screen, xlib, rr
7c60c3c
 
7c60c3c
+xopendisplay = None
7c60c3c
+class Display(Structure): pass
7c60c3c
+
7c60c3c
+def get_display(name):
7c60c3c
+    global xopendisplay
7c60c3c
+    if xopendisplay is None:
7c60c3c
+        xopendisplay = xlib.XOpenDisplay
7c60c3c
+        xopendisplay.restype = POINTER(Display)
7c60c3c
+    return xopendisplay(name)
7c60c3c
+
7c60c3c
 def get_current_display():
7c60c3c
     """Returns the currently used display"""
7c60c3c
     display_url = os.getenv("DISPLAY")
7c60c3c
-    dpy = xlib.XOpenDisplay(display_url)
7c60c3c
+    dpy = get_display(display_url)
7c60c3c
     return dpy
7c60c3c
 
7c60c3c
 def get_current_screen():
7c60c3c
@@ -98,7 +108,7 @@
7c60c3c
 
7c60c3c
 def get_screen_of_display(display, count):
7c60c3c
     """Returns the screen of the given display"""
7c60c3c
-    dpy = xlib.XOpenDisplay(display)
7c60c3c
+    dpy = get_display(display)
7c60c3c
     return Screen(dpy, count)
7c60c3c
 
7c60c3c
 def get_version():