diff --git a/.cvsignore b/.cvsignore index dec6629..8e081c6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -wxGTK-2.8.7.tar.bz2 +wxGTK-2.8.9.tar.bz2 diff --git a/sources b/sources index 2fefdad..071d762 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b25e85eeee524903214ebb520753f4bd wxGTK-2.8.7.tar.bz2 +495c0287e102c8864eb5237a279ce9c2 wxGTK-2.8.9.tar.bz2 diff --git a/wxGTK-2.8.7-race-fix.patch b/wxGTK-2.8.7-race-fix.patch deleted file mode 100644 index c58f395..0000000 --- a/wxGTK-2.8.7-race-fix.patch +++ /dev/null @@ -1,109 +0,0 @@ ---- wxWidgets/src/gtk/app.cpp 2008/03/13 02:56:21 52464 -+++ wxWidgets/src/gtk/app.cpp 2008/03/13 04:37:03 52465 -@@ -174,59 +174,63 @@ - if (!wxTheApp) - return false; - -- bool moreIdles = false; -- -+ guint idleID_save; -+ { -+ // Allow another idle source to be added while this one is busy. -+ // Needed if an idle event handler runs a new event loop, -+ // for example by showing a dialog. -+#if wxUSE_THREADS -+ wxMutexLocker lock(gs_idleTagsMutex); -+#endif -+ idleID_save = wxTheApp->m_idleTag; -+ wxTheApp->m_idleTag = 0; -+ g_isIdle = true; -+ wxAddEmissionHook(); -+ } - #ifdef __WXDEBUG__ - // don't generate the idle events while the assert modal dialog is shown, - // this matches the behavior of wxMSW -- if (!wxTheApp->IsInAssert()) -+ if (wxTheApp->IsInAssert()) -+ return false; - #endif // __WXDEBUG__ -- { -- guint idleID_save; -- { -- // Allow another idle source to be added while this one is busy. -- // Needed if an idle event handler runs a new event loop, -- // for example by showing a dialog. --#if wxUSE_THREADS -- wxMutexLocker lock(gs_idleTagsMutex); --#endif -- idleID_save = wxTheApp->m_idleTag; -- wxTheApp->m_idleTag = 0; -- g_isIdle = true; -- wxAddEmissionHook(); -- } - -- // When getting called from GDK's time-out handler -- // we are no longer within GDK's grab on the GUI -- // thread so we must lock it here ourselves. -- gdk_threads_enter(); -- -- // Send idle event to all who request them as long as -- // no events have popped up in the event queue. -- do { -- moreIdles = wxTheApp->ProcessIdle(); -- } while (moreIdles && gtk_events_pending() == 0); -+ // When getting called from GDK's time-out handler -+ // we are no longer within GDK's grab on the GUI -+ // thread so we must lock it here ourselves. -+ gdk_threads_enter(); - -- // Release lock again -- gdk_threads_leave(); -- -- { -- // If another idle source was added, remove it -+ // Send idle event to all who request them as long as -+ // no events have popped up in the event queue. -+ bool moreIdles; -+ do { -+ moreIdles = wxTheApp->ProcessIdle(); -+ } while (moreIdles && gtk_events_pending() == 0); -+ -+ // Release lock again -+ gdk_threads_leave(); -+ - #if wxUSE_THREADS -- wxMutexLocker lock(gs_idleTagsMutex); -+ wxMutexLocker lock(gs_idleTagsMutex); - #endif -- if (wxTheApp->m_idleTag != 0) -- g_source_remove(wxTheApp->m_idleTag); -- wxTheApp->m_idleTag = idleID_save; -- g_isIdle = false; -- } -- } -+ // If another idle source was added, remove it -+ if (wxTheApp->m_idleTag != 0) -+ g_source_remove(wxTheApp->m_idleTag); -+ wxTheApp->m_idleTag = idleID_save; -+ g_isIdle = false; - -- if (!moreIdles) -- { - #if wxUSE_THREADS -- wxMutexLocker lock(gs_idleTagsMutex); -+ if (wxPendingEventsLocker) -+ wxPendingEventsLocker->Enter(); - #endif -+ // Pending events can be added asynchronously, -+ // need to keep idle source if any have appeared -+ moreIdles = moreIdles || (wxPendingEvents && !wxPendingEvents->IsEmpty()); -+#if wxUSE_THREADS -+ if (wxPendingEventsLocker) -+ wxPendingEventsLocker->Leave(); -+#endif -+ if (!moreIdles) -+ { - // Indicate that we are now in idle mode and event handlers - // will have to reinstall the idle handler again. - g_isIdle = true; - diff --git a/wxGTK.spec b/wxGTK.spec index 68688a4..952619d 100644 --- a/wxGTK.spec +++ b/wxGTK.spec @@ -5,17 +5,16 @@ %define withodbc 0 Name: wxGTK -Version: 2.8.7 -Release: 2%{?dist} +Version: 2.8.9 +Release: 1%{?dist} Summary: GTK2 port of the wxWidgets GUI library # The wxWindows licence is the LGPL with a specific exemption allowing # distribution of derived binaries under any terms. (This will eventually # change to be "wxWidgets License" once that is approved by OSI.) -License: wxWidgets Library Licence +License: wxWidgets Group: System Environment/Libraries URL: http://www.wxwidgets.org/ Source0: http://dl.sf.net/wxwindows/%{name}-%{version}.tar.bz2 -Patch0: wxGTK-2.8.7-race-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -120,7 +119,6 @@ libraries or the X Window System. %prep %setup -q -%patch0 -p1 -b .racefix sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure @@ -261,6 +259,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Nov 10 2008 Dan Horak - 2.8.9-1 +- update to 2.8.9 +- drop upstreamed patch +- fix license tag + * Tue Apr 1 2008 Dan Horak - 2.8.7-2 - added fix for a race condition (rh bug #440011)