From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sat, 25 Mar 2006 03:01:55 +0000 (+0000)
Subject: X11 callbacks must be extern C
X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/aedeab233f282a928668f791d36ef6e24ed5dddb

X11 callbacks must be extern C


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---

diff --git a/src/x11/app.cpp b/src/x11/app.cpp
index 3346119411..86d6447c63 100644
--- a/src/x11/app.cpp
+++ b/src/x11/app.cpp
@@ -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 );