X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d038ec59c7978070bd7641df0d8b5af04f7dd53..3271d7376a34a73139db3d9d3d2f23426539e50e:/src/gtk/app.cpp diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp index 753e8f07ac..8f8e0869dc 100644 --- a/src/gtk/app.cpp +++ b/src/gtk/app.cpp @@ -74,9 +74,19 @@ #include "wx/unix/private.h" #include "wx/gtk/win_gtk.h" +#include "wx/gtk/private.h" #include +//----------------------------------------------------------------------------- +// link GnomeVFS +//----------------------------------------------------------------------------- + +#if wxUSE_LIBGNOMEVFS +#include "wx/html/forcelnk.h" +FORCE_LINK(gnome_vfs) +#endif + //----------------------------------------------------------------------------- // global data //----------------------------------------------------------------------------- @@ -90,8 +100,6 @@ static GtkWidget *gs_RootWindow = (GtkWidget*) NULL; // idle system //----------------------------------------------------------------------------- -extern bool g_isIdle; - void wxapp_install_idle_handler(); #if wxUSE_THREADS @@ -249,17 +257,18 @@ static gint wxapp_idle_callback( gpointer WXUNUSED(data) ) wxTheApp->m_idleTag = 0; } + bool moreIdles; + // Send idle event to all who request them as long as // no events have popped up in the event queue. - while (wxTheApp->ProcessIdle() && (gtk_events_pending() == 0)) + while ( (moreIdles = wxTheApp->ProcessIdle()) && gtk_events_pending() == 0) ; // Release lock again gdk_threads_leave(); - // Return FALSE to indicate that no more idle events are - // to be sent (single shot instead of continuous stream). - return FALSE; + // Return FALSE if no more idle events are to be sent + return moreIdles; } #if wxUSE_THREADS @@ -534,7 +543,7 @@ GdkVisual *wxApp::GetGdkVisual() if (m_glVisualInfo) visual = gdkx_visual_get( ((XVisualInfo *) m_glVisualInfo)->visualid ); else - visual = gdk_window_get_visual( wxGetRootWindow()->window ); + visual = gdk_drawable_get_visual( wxGetRootWindow()->window ); wxASSERT( visual ); @@ -546,18 +555,8 @@ bool wxApp::Initialize(int& argc, wxChar **argv) bool init_result; #if wxUSE_THREADS - // GTK 1.2 up to version 1.2.3 has broken threads - if ((gtk_major_version == 1) && - (gtk_minor_version == 2) && - (gtk_micro_version < 4)) - { - printf( "wxWidgets warning: GUI threading disabled due to outdated GTK version\n" ); - } - else - { - if (!g_thread_supported()) - g_thread_init(NULL); - } + if (!g_thread_supported()) + g_thread_init(NULL); #endif // wxUSE_THREADS gtk_set_locale();