g_source_remove(m_idleSourceId);
m_idleSourceId = 0;
}
+
+ // Pending events can be added asynchronously,
+ // need to keep idle source if any have appeared
+ needMore = needMore || HasPendingEvents();
+
// if more idle processing requested
if (needMore)
{
{
}
+bool wxApp::SetNativeTheme(const wxString& theme)
+{
+ wxString path;
+ path = gtk_rc_get_theme_dir();
+ path += "/";
+ path += theme.utf8_str();
+ path += "/gtk-2.0/gtkrc";
+
+ if ( wxFileExists(path.utf8_str()) )
+ gtk_rc_add_default_file(path.utf8_str());
+ else if ( wxFileExists(theme.utf8_str()) )
+ gtk_rc_add_default_file(theme.utf8_str());
+ else
+ {
+ wxLogWarning("Theme \"%s\" not available.", theme);
+
+ return false;
+ }
+
+ gtk_rc_reparse_all_for_settings(gtk_settings_get_default(), TRUE);
+
+ return true;
+}
+
bool wxApp::OnInitGui()
{
if ( !wxAppBase::OnInitGui() )
}
#endif // wxUSE_THREADS
- // We should have the wxUSE_WCHAR_T test on the _outside_
-#if wxUSE_WCHAR_T
// gtk+ 2.0 supports Unicode through UTF-8 strings
wxConvCurrent = &wxConvUTF8;
-#else // !wxUSE_WCHAR_T
- if (!wxOKlibc())
- wxConvCurrent = (wxMBConv*) NULL;
-#endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
// decide which conversion to use for the file names
}
argc_ = argcGTK;
+ argv_[argc_] = NULL;
}
//else: gtk_init() didn't modify our parameters