]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/app.cpp
corrected event type for standalone scrollbars (patch 1240385)
[wxWidgets.git] / src / x11 / app.cpp
index 28b3b7e52ceebbf80b47846bae99279e63a0cea9..5288ac730382510507401844bc5db867ac5c31aa 100644 (file)
@@ -46,8 +46,8 @@
 
 extern wxList wxPendingDelete;
 
-wxHashTable *wxWidgetHashTable = NULL;
-wxHashTable *wxClientWidgetHashTable = NULL;
+wxWindowHash *wxWidgetHashTable = NULL;
+wxWindowHash *wxClientWidgetHashTable = NULL;
 
 static bool g_showIconic = FALSE;
 static wxSize g_initialSize = wxDefaultSize;
@@ -173,7 +173,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
         xdisplay = XOpenDisplay( displayName.ToAscii() );
     if (!xdisplay)
     {
-        wxLogError( _("wxWindows could not open display. Exiting.") );
+        wxLogError( _("wxWidgets could not open display. Exiting.") );
         return false;
     }
 
@@ -203,8 +203,8 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding());
 #endif
 
-    wxWidgetHashTable = new wxHashTable(wxKEY_INTEGER);
-    wxClientWidgetHashTable = new wxHashTable(wxKEY_INTEGER);
+    wxWidgetHashTable = new wxWindowHash;
+    wxClientWidgetHashTable = new wxWindowHash;
 
     return true;
 }
@@ -243,14 +243,6 @@ wxApp::~wxApp()
 #endif
 }
 
-bool wxApp::Initialized()
-{
-    if (GetTopWindow())
-        return TRUE;
-    else
-        return FALSE;
-}
-
 #if !wxUSE_NANOX
 //-----------------------------------------------------------------------
 // X11 predicate function for exposure compression
@@ -383,8 +375,6 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
 #if !wxUSE_NANOX
         case GraphicsExpose:
         {
-            printf( "GraphicExpose event\n" );
-
             wxLogTrace( _T("expose"), _T("GraphicsExpose from %s"), win->GetName().c_str());
 
             win->GetUpdateRegion().Union( event->xgraphicsexpose.x, event->xgraphicsexpose.y,
@@ -456,16 +446,15 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
             if (event->update.utype == GR_UPDATE_SIZE)
 #endif
             {
-                if (win->IsTopLevel())
+                wxTopLevelWindow *tlw = wxDynamicCast(win, wxTopLevelWindow);
+                if ( tlw )
                 {
-                    wxTopLevelWindow *tlw = (wxTopLevelWindow*) win;
                     tlw->SetConfigureGeometry( XConfigureEventGetX(event), XConfigureEventGetY(event),
                         XConfigureEventGetWidth(event), XConfigureEventGetHeight(event) );
                 }
 
-                if (win->IsTopLevel() && win->IsShown())
+                if ( tlw && tlw->IsShown() )
                 {
-                    wxTopLevelWindowX11 *tlw = (wxTopLevelWindowX11 *) win;
                     tlw->SetNeedResizeInIdle();
                 }
                 else
@@ -477,7 +466,6 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
                 }
             }
             return FALSE;
-            break;
         }
 #if !wxUSE_NANOX
         case PropertyNotify:
@@ -650,6 +638,7 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
         default:
             //wxString eventName = wxGetXEventName(XEvent& event);
             //wxLogDebug(wxT("Event %s not handled"), eventName.c_str());
+            break;
 #endif // __WXDEBUG__
     }
 
@@ -701,7 +690,9 @@ bool wxApp::OnInitGui()
 
 #include <pango/pango.h>
 #include <pango/pangox.h>
-#include <pango/pangoxft.h>
+#ifdef HAVE_PANGO_XFT
+    #include <pango/pangoxft.h>
+#endif
 
 PangoContext* wxApp::GetPangoContext()
 {
@@ -711,7 +702,7 @@ PangoContext* wxApp::GetPangoContext()
 
     Display *xdisplay = (Display*) wxApp::GetDisplay();
 
-#if 1
+#ifdef HAVE_PANGO_XFT
     int xscreen = DefaultScreen(xdisplay);
     static int use_xft = -1;
     if (use_xft == -1)
@@ -755,7 +746,9 @@ Window wxGetWindowParent(Window window)
 
     return (Window) 0;
 
-    Window parent, root = 0;
+#ifndef __VMS
+   // VMS chokes on unreacheable code
+   Window parent, root = 0;
 #if wxUSE_NANOX
     int noChildren = 0;
 #else
@@ -776,6 +769,7 @@ Window wxGetWindowParent(Window window)
         return parent;
     else
         return (Window) 0;
+#endif
 }
 
 void wxApp::Exit()
@@ -795,7 +789,7 @@ bool wxApp::Yield(bool onlyIfNeeded)
     int i;
     for (i = 0; i < 2; i++)
     {
-        bool s_inYield = FALSE;
+        static bool s_inYield = FALSE;
 
         if ( s_inYield )
         {