rpms/wxGTK/F-8 wxGTK-2.8.7-race-fix.patch, NONE, 1.1 .cvsignore, 1.8, 1.9 sources, 1.8, 1.9 wxGTK.spec, 1.35, 1.36 wxGTK-2.8.4-bad-g_free.patch, 1.1, NONE

Dan Horak (sharkcz) fedora-extras-commits at redhat.com
Tue Apr 1 14:52:51 UTC 2008


Author: sharkcz

Update of /cvs/pkgs/rpms/wxGTK/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12838

Modified Files:
	.cvsignore sources wxGTK.spec 
Added Files:
	wxGTK-2.8.7-race-fix.patch 
Removed Files:
	wxGTK-2.8.4-bad-g_free.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)

* 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)
- okay, so, wxPython 2.8.7.1 seems to work fine against this version of the
  library, so I'm dropping the kludgy-patch-to-2.8.7.1 thing. Please report
  any compatibility problems with wxPython 2.8.7.1 and I'll fix them as they
  come up.


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: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/wxGTK/F-8/.cvsignore,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- .cvsignore	11 Jul 2007 18:24:06 -0000	1.8
+++ .cvsignore	1 Apr 2008 14:52:09 -0000	1.9
@@ -1 +1 @@
-wxGTK-2.8.4.tar.bz2
+wxGTK-2.8.7.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/wxGTK/F-8/sources,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- sources	11 Jul 2007 18:24:06 -0000	1.8
+++ sources	1 Apr 2008 14:52:09 -0000	1.9
@@ -1 +1 @@
-22e42c1601d9759530c875ffa2c3c554  wxGTK-2.8.4.tar.bz2
+b25e85eeee524903214ebb520753f4bd  wxGTK-2.8.7.tar.bz2


Index: wxGTK.spec
===================================================================
RCS file: /cvs/pkgs/rpms/wxGTK/F-8/wxGTK.spec,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- wxGTK.spec	28 Aug 2007 11:18:55 -0000	1.35
+++ wxGTK.spec	1 Apr 2008 14:52:09 -0000	1.36
@@ -5,8 +5,8 @@
 %define withodbc 0
 
 Name:           wxGTK
-Version:        2.8.4
-Release:        6%{?dist}
+Version:        2.8.7
+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,8 +15,7 @@
 Group:          System Environment/Libraries
 URL:            http://www.wxwidgets.org/
 Source0:        http://dl.sf.net/wxwindows/%{name}-%{version}.tar.bz2
-# http://svn.wxwidgets.org/viewvc/wx?view=rev&revision=46513
-Patch0:         wxGTK-2.8.4-bad-g_free.patch
+Patch0:         wxGTK-2.8.7-race-fix.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -56,6 +55,7 @@
 Obsoletes:      compat-wxGTK2-stc < %{version}-%{release}
 Obsoletes:      compat-wxGTK-stc < %{version}-%{release}
 
+Requires:       wxBase = %{version}-%{release}
 
 %description
 wxWidgets/GTK2 is the GTK2 port of the C++ cross-platform wxWidgets
@@ -69,6 +69,7 @@
 Summary:        Development files for the wxGTK2 library
 Requires:       %{name} = %{version}-%{release}
 Requires:       %{name}-gl = %{version}-%{release}
+Requires:       wxBase = %{version}-%{release}
 Requires:       gtk2-devel
 Requires:       libGL-devel, libGLU-devel
 Obsoletes:      wxGTK2-devel < %{version}-%{release}
@@ -95,6 +96,7 @@
 %description gl
 OpenGL (a 3D graphics API) add-on for the wxWidgets library.
 
+
 %if %{withodbc}
 %package        odbc
 Summary:        ODBC add-on for the wxWidgets library
@@ -105,10 +107,22 @@
 ODBC (a SQL database connectivity API) add-on for the wxWidgets library.
 %endif
 
+
+%package -n     wxBase
+Summary:        Non-GUI support classes from the wxWidgets library
+Group:          System Environment/Libraries
+
+%description -n wxBase
+Every wxWidgets application must link against this library. It contains
+mandatory classes that any wxWidgets code depends on (like wxString) and
+portability classes that abstract differences between platforms. wxBase can
+be used to develop console mode applications -- it does not require any GUI
+libraries or the X Window System.
+
+
 %prep
 %setup -q
-
-%patch0 -p2 -b .badfree
+%patch0 -p1 -b .racefix
 
 sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
 
@@ -190,14 +204,19 @@
 %post gl -p /sbin/ldconfig
 %postun gl -p /sbin/ldconfig
 
+%if %{withodbc}
+%post odbc -p /sbin/ldconfig
+%postun odbc -p /sbin/ldconfig
+%endif
+
+%post -n wxBase -p /sbin/ldconfig
+%postun -n wxBase -p /sbin/ldconfig
+
 
 %files -f wxstd.lang
 %defattr(-,root,root,-)
 %doc docs/changes.txt docs/gpl.txt docs/lgpl.txt docs/licence.txt
 %doc docs/licendoc.txt docs/preamble.txt docs/readme.txt
-%{_libdir}/libwx_baseu-*.so.*
-%{_libdir}/libwx_baseu_net-*.so.*
-%{_libdir}/libwx_baseu_xml-*.so.*
 %{_libdir}/libwx_gtk2u_adv-*.so.*
 %{_libdir}/libwx_gtk2u_aui-*.so.*
 %{_libdir}/libwx_gtk2u_core-*.so.*
@@ -236,7 +255,29 @@
 %{_libdir}/libwx_gtk2u_odbc-*.so.*
 %endif
 
+%files -n wxBase
+%doc docs/changes.txt docs/gpl.txt docs/lgpl.txt docs/licence.txt
+%doc docs/licendoc.txt docs/preamble.txt docs/readme.txt
+%{_libdir}/libwx_baseu-*.so.*
+%{_libdir}/libwx_baseu_net-*.so.*
+%{_libdir}/libwx_baseu_xml-*.so.*
+
+
 %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)
+- okay, so, wxPython 2.8.7.1 seems to work fine against this version of the
+  library, so I'm dropping the kludgy-patch-to-2.8.7.1 thing. Please report
+  any compatibility problems with wxPython 2.8.7.1 and I'll fix them as they
+  come up.
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 2.8.4-7
+- Autorebuild for GCC 4.3
+
 * Tue Aug 28 2007 Hans de Goede <j.w.r.degoede at hhs.nl> - 2.8.4-6
 - Rebuild for new expat 2.0
 


--- wxGTK-2.8.4-bad-g_free.patch DELETED ---




More information about the scm-commits mailing list