#include "wx/font.h"
#include "wx/settings.h"
#include "wx/dialog.h"
+#include "wx/msgdlg.h"
+#include "wx/file.h"
#if wxUSE_WX_RESOURCES
#include "wx/resource.h"
// It's necessary to call ProcessIdle() to update the frames sizes which
// might have been changed (it also will update other things set from
- // OnUpdateUI() which is a nice (and desired) side effect). But we
+ // OnUpdateUI() which is a nice (and desired) side effect). But we
// call ProcessIdle() only once since this is not meant for longish
// background jobs (controlled by wxIdleEvent::RequestMore() and the
// return value of Processidle().
// from some safely-looking functions
if ( wxTheApp->IsInAssert() )
{
+ // But repaint the assertion message if necessary
+ if (wxTopLevelWindows.GetCount() > 0)
+ {
+ wxWindow* win = (wxWindow*) wxTopLevelWindows.Last()->Data();
+ if (win->IsKindOf(CLASSINFO(wxGenericMessageDialog)))
+ win->OnInternalIdle();
+ }
return TRUE;
}
#endif // __WXDEBUG__
#endif
m_colorCube = (unsigned char*) NULL;
-
+
// this is NULL for a "regular" wxApp, but is set (and freed) by a wxGLApp
m_glVisualInfo = (void *) NULL;
}
// seems gtk_widget_set_default_visual no longer exists?
GdkVisual* vis = gtk_widget_get_default_visual();
#else
- GdkVisual* vis = gdkx_visual_get(
+ GdkVisual* vis = gdkx_visual_get(
((XVisualInfo *) m_glVisualInfo) ->visualid );
gtk_widget_set_default_visual( vis );
#endif
visual = vis;
}
-
+
// On some machines, the default visual is just 256 colours, so
// we make sure we get the best. This can sometimes be wasteful.
GdkVisual *wxApp::GetGdkVisual()
{
GdkVisual *visual = NULL;
-
+
if (m_glVisualInfo)
visual = gdkx_visual_get( ((XVisualInfo *) m_glVisualInfo)->visualid );
else
visual = gdk_window_get_visual( wxGetRootWindow()->window );
-
+
wxASSERT( visual );
-
+
return visual;
}
wxWindow* win = node->GetData();
if (SendIdleEvents(win))
needMore = TRUE;
-
+
node = node->GetNext();
}
{
wxWindow* win = node->GetData();
CallInternalIdle( win );
-
+
node = node->GetNext();
}
return needMore;
node = node->Next();
}
-
+
return TRUE;
}
event.SetEventObject(win);
win->GetEventHandler()->ProcessEvent(event);
-
+
if (event.MoreRequested())
needMore = TRUE;
node = node->Next();
}
-
+
return needMore;
}
wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
-
+
// Delete all pending windows if any
wxTheApp->DeletePendingObjects();
-
- // Reset top window
+
+ // Reset top window
if (topWindow)
wxTheApp->SetTopWindow( (wxWindow*) NULL );
#ifdef __WXDEBUG__
-void wxApp::OnAssert(const wxChar *file, int line, const wxChar *msg)
+void wxApp::OnAssert(const wxChar *file, int line, const wxChar* cond, const wxChar *msg)
{
m_isInAssert = TRUE;
- wxAppBase::OnAssert(file, line, msg);
+ wxAppBase::OnAssert(file, line, cond, msg);
m_isInAssert = FALSE;
}