diff lib/OverConv.c @ 18:07a41a882b14

imported patch 21_kinput2-v3.1-rootwindow-1.patch
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 08 Mar 2010 20:38:17 +0900
parents 92745d501b9a
children 55ed5c42c22f
line wrap: on
line diff
--- a/lib/OverConv.c	Mon Mar 08 20:38:17 2010 +0900
+++ b/lib/OverConv.c	Mon Mar 08 20:38:17 2010 +0900
@@ -37,6 +37,13 @@
 #define DEBUG_VAR debug_OverTheSpotConversion
 #include "DebugPrint.h"
 
+#define CloseWindowProtection(w) \
+    {\
+        Atom protocols;\
+        protocols = XInternAtom(XtDisplay(w), "WM_DELETE_WINDOW", False);\
+        XSetWMProtocols(XtDisplay(w), XtWindow(w), &protocols, 1);\
+    }
+
 typedef enum { NeedNone, NeedRedraw, NeedReconfig } ResetStatus;
 
 /*- resource table -*/
@@ -1295,6 +1302,7 @@
 
     locateSelectionPopup(ocw);
     XtPopup(ocw->overthespot.selectionshell, XtGrabNone);
+    CloseWindowProtection(ocw->overthespot.selectionshell); 
     ocw->overthespot.selectionpoppedup = True;
 }
 
@@ -1504,6 +1512,7 @@
   locateAuxPopup(ocw, False);
   
   XtPopup(ocw->overthespot.auxshell, XtGrabNone);
+  CloseWindowProtection(ocw->overthespot.auxshell)
   ocw->overthespot.auxpoppedup = True;
 }