X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e27732a43c668777b5b7a3b1092032c6a80ff8c..21bd196564d8483879a57c40ec1eea64114f9bd4:/src/gtk/settings.cpp diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index 600f0310a9..5efb1a3ebc 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -91,7 +91,8 @@ static bool GetColourFromGTKWidget(int& red, int& green, int& blue, case wxGTK_LIST: widget = gtk_list_new(); - + break; + case wxGTK_MENUITEM: widget = gtk_menu_item_new(); } @@ -307,9 +308,9 @@ wxColour wxSystemSettingsNative::GetColour( wxSystemColour index ) case wxSYS_COLOUR_MAX: default: wxFAIL_MSG( _T("unknown system colour index") ); - } + } - return *wxWHITE; + return *wxWHITE; } wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) @@ -371,6 +372,8 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win ) { #ifdef __WXGTK20__ + bool success = false; + guchar *data = NULL; GdkWindow *window = NULL; if(win && GTK_WIDGET_REALIZED(win->GetHandle())) @@ -419,9 +422,12 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win ) Atom type; gint format; gulong nitems; - gulong bytes_after; - - if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY(gdk_drawable_get_display(window)), + +#if GTK_CHECK_VERSION(2,2,0) + if (!gtk_check_version(2,2,0)) + { + gulong bytes_after; + success = (XGetWindowProperty (GDK_DISPLAY_XDISPLAY(gdk_drawable_get_display(window)), GDK_WINDOW_XWINDOW(window), gdk_x11_get_xatom_by_name_for_display ( gdk_drawable_get_display(window), @@ -431,7 +437,10 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win ) false, // do not delete property XA_CARDINAL, // 32 bit &type, &format, &nitems, &bytes_after, &data - ) == Success) + ) == Success); + } +#endif + if (success) { int border_return = -1; @@ -573,9 +582,12 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win ) Atom type; gint format; gulong nitems; - gulong bytes_after; - if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY(gdk_drawable_get_display(window)), +#if GTK_CHECK_VERSION(2,2,0) + if (!gtk_check_version(2,2,0)) + { + gulong bytes_after; + success = (XGetWindowProperty (GDK_DISPLAY_XDISPLAY(gdk_drawable_get_display(window)), GDK_WINDOW_XWINDOW(window), gdk_x11_get_xatom_by_name_for_display ( gdk_drawable_get_display(window), @@ -585,7 +597,10 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win ) false, // do not delete property XA_CARDINAL, // 32 bit &type, &format, &nitems, &bytes_after, &data - ) == Success) + ) == Success); + } +#endif + if (success) { int caption_height = -1;