rpms/wxGTK/devel wxGTK-2.8.7-race-fix.patch, NONE, 1.1 wxGTK.spec, 1.37, 1.38
Dan Horak (sharkcz)
fedora-extras-commits at redhat.com
Tue Apr 1 12:57:29 UTC 2008
- Previous message (by thread): rpms/jfbterm/devel jfbterm-0.4.7-pagemask_userspace.patch, 1.2, 1.3 jfbterm.spec, 1.14, 1.15
- Next message (by thread): rpms/batik/devel .cvsignore, 1.4, 1.5 batik.spec, 1.1, 1.2 sources, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: sharkcz
Update of /cvs/pkgs/rpms/wxGTK/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28168
Modified Files:
wxGTK.spec
Added Files:
wxGTK-2.8.7-race-fix.patch
Log Message:
* Tue Apr 1 2008 Dan Horak <dan[at]danny.cz> - 2.8.7-2
- added fix for a race condition (rh bug #440011)
wxGTK-2.8.7-race-fix.patch:
--- NEW FILE wxGTK-2.8.7-race-fix.patch ---
--- 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;
Index: wxGTK.spec
===================================================================
RCS file: /cvs/pkgs/rpms/wxGTK/devel/wxGTK.spec,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- wxGTK.spec 20 Feb 2008 21:39:03 -0000 1.37
+++ wxGTK.spec 1 Apr 2008 12:56:47 -0000 1.38
@@ -6,7 +6,7 @@
Name: wxGTK
Version: 2.8.7
-Release: 1%{?dist}
+Release: 2%{?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
@@ -15,6 +15,7 @@
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)
@@ -121,6 +122,7 @@
%prep
%setup -q
+%patch0 -p1 -b .racefix
sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
@@ -262,6 +264,9 @@
%changelog
+* Tue Apr 1 2008 Dan Horak <dan[at]danny.cz> - 2.8.7-2
+- added fix for a race condition (rh bug #440011)
+
* Wed Feb 20 2008 Matthew Miller <mattdm at mattdm.org> - 2.8.7-1
- update to 2.8.7 (rh bug #369621, etc.)
- split base libs into separate wxBase package (rh bug #357961)
- Previous message (by thread): rpms/jfbterm/devel jfbterm-0.4.7-pagemask_userspace.patch, 1.2, 1.3 jfbterm.spec, 1.14, 1.15
- Next message (by thread): rpms/batik/devel .cvsignore, 1.4, 1.5 batik.spec, 1.1, 1.2 sources, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list