]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/app.cpp
wxDialog change (Show() completely rewritten, modal dialogs handling changed)
[wxWidgets.git] / src / motif / app.cpp
index 916c8b9419177615336d41028f166071c45b53f2..53b01e0f35c5158c8ec43afb52b7d55a2b55856a 100644 (file)
@@ -68,6 +68,18 @@ BEGIN_EVENT_TABLE(wxApp, wxEvtHandler)
     EVT_IDLE(wxApp::OnIdle)
 END_EVENT_TABLE()
 
+#ifdef __WXDEBUG__
+    typedef int (*XErrorHandlerFunc)(Display *, XErrorEvent *);
+
+    XErrorHandlerFunc gs_pfnXErrorHandler = 0;
+
+    static int wxXErrorHandler(Display *dpy, XErrorEvent *xevent)
+    {
+        // just forward to the default handler for now
+        return gs_pfnXErrorHandler(dpy, xevent);
+    }
+#endif // __WXDEBUG__
+
 long wxApp::sm_lastMessageTime = 0;
 
 bool wxApp::Initialize()
@@ -575,6 +587,11 @@ bool wxApp::OnInitGui()
     }
     m_initialDisplay = (WXDisplay*) dpy;
 
+#ifdef __WXDEBUG__
+    // install the X error handler
+    gs_pfnXErrorHandler = XSetErrorHandler(wxXErrorHandler);
+#endif // __WXDEBUG__
+
     wxTheApp->m_topLevelWidget = (WXWidget) XtAppCreateShell((String)NULL, (const char*) wxTheApp->GetClassName(),
         applicationShellWidgetClass,dpy,
         NULL,0) ;