]> git.saurik.com Git - wxWidgets.git/commitdiff
X11 callbacks must be extern C
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 25 Mar 2006 03:01:55 +0000 (03:01 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 25 Mar 2006 03:01:55 +0000 (03:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/x11/app.cpp

index 3346119411dc4be14f85ce295d1558f5aa8381fb..86d6447c63166505bdc90ef5b29d52863c7de231 100644 (file)
@@ -243,6 +243,7 @@ wxApp::~wxApp()
 }
 
 #if !wxUSE_NANOX
+
 //-----------------------------------------------------------------------
 // X11 predicate function for exposure compression
 //-----------------------------------------------------------------------
@@ -253,7 +254,8 @@ struct wxExposeInfo
     Bool found_non_matching;
 };
 
-static Bool expose_predicate (Display *display, XEvent *xevent, XPointer arg)
+extern "C"
+Bool wxX11ExposePredicate (Display *display, XEvent *xevent, XPointer arg)
 {
     wxExposeInfo *info = (wxExposeInfo*) arg;
 
@@ -274,8 +276,8 @@ static Bool expose_predicate (Display *display, XEvent *xevent, XPointer arg)
 
     return TRUE;
 }
-#endif
-    // wxUSE_NANOX
+
+#endif // wxUSE_NANOX
 
 //-----------------------------------------------------------------------
 // Processes an X event, returning true if the event was processed.
@@ -322,7 +324,7 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
                 wxExposeInfo info;
                 info.window = event->xexpose.window;
                 info.found_non_matching = false;
-                while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, expose_predicate, (XPointer) &info ))
+                while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, wxX11ExposePredicate, (XPointer) &info ))
                 {
                     // Don't worry about optimizing redrawing the border etc.
                 }
@@ -341,7 +343,7 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
                 wxExposeInfo info;
                 info.window = event->xexpose.window;
                 info.found_non_matching = false;
-                while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, expose_predicate, (XPointer) &info ))
+                while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, wxX11ExposePredicate, (XPointer) &info ))
                 {
                     win->GetUpdateRegion().Union( tmp_event.xexpose.x, tmp_event.xexpose.y,
                                                   tmp_event.xexpose.width, tmp_event.xexpose.height );