-
-
-// In wxGTK2 the wxMessageDialog is not a real wxDialog, instead a
-// gtk_message_dialog is created, shown and destroyed inside the ShowModal()
-// call. Since its m_widget will always be NULL there would normally be lots
-// of wxCHECK asserts triggered by calling base class methods that are valid
-// calls (or just ignored) on other wx ports. Using these macros instead of
-// wxCHECK will silence those asserts if the window is a wxMessageDialog and
-// will let the method doing the check just be ignored in that case. If it's
-// not a wxMessageDialog then it behaves just like before.
-//
-// NOTE: Once more native dialogs are used then this will need to be
-// generalized a bit, perhaps with a IsNativeGTKDialog method or
-// something...
-
-#if wxUSE_MSGDLG && defined(__WXGTK20__) && !defined(__WXGPE__)
-#define wxCHECK_VALID_WIDGET(rc) \
- if (!(m_widget != NULL)) { \
- if (!wxIsKindOf(this, wxMessageDialog)) { wxFAIL_MSG(wxT("invalid window")); } \
- return rc; \
- }
-
-#define wxCHECK_VALID_WIDGET_RET() \
- if (!(m_widget != NULL)) { \
- if (!wxIsKindOf(this, wxMessageDialog)) { wxFAIL_MSG(wxT("invalid window")); } \
- return; \
- }
-
-#else // not wxGTK2, so just use wxCHECK
-#define wxCHECK_VALID_WIDGET(rc) wxCHECK_MSG( (m_widget != NULL), rc, wxT("invalid window") )
-#define wxCHECK_VALID_WIDGET_RET() wxCHECK_RET( (m_widget != NULL), wxT("invalid window") );
+// Needed for implementing e.g. combobox on wxGTK within a modal dialog.
+void wxAddGrab(wxWindow* window);
+void wxRemoveGrab(wxWindow* window);
+
+// The declaration for gtk_icon_size_lookup was accidentally ifdefed out in
+// GTK+ 2.1.0 which Sun seem to have shipped with some versions of JDS
+// for Solaris 9 x86.
+#ifdef NEED_GTK_ICON_SIZE_LOOKUP
+extern "C" gboolean gtk_icon_size_lookup (GtkIconSize size,
+ gint *width,
+ gint *height);