]> git.saurik.com Git - wxWidgets.git/commitdiff
Made things compile again (two pizzas).
authorRobert Roebling <robert@roebling.de>
Fri, 18 Jun 1999 14:18:47 +0000 (14:18 +0000)
committerRobert Roebling <robert@roebling.de>
Fri, 18 Jun 1999 14:18:47 +0000 (14:18 +0000)
  Made timer reentry safe, I think.
  Added CVS build info.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

BuildCVS.txt [new file with mode: 0644]
include/wx/generic/panelg.h
src/gtk/timer.cpp
src/gtk1/timer.cpp

diff --git a/BuildCVS.txt b/BuildCVS.txt
new file mode 100644 (file)
index 0000000..6bc0bc0
--- /dev/null
@@ -0,0 +1,62 @@
+------------------------------------------------------------------------
+                How to build the sources from CVS
+------------------------------------------------------------------------
+
+I) Windows using plain makefiles
+----------------------------------------
+
+No idea, never did it.
+
+
+II) Unix using plain makefiles.
+----------------------------------------
+
+No idea, never did it.
+
+
+III) Windows using configure
+----------------------------------------
+
+No idea..
+
+
+IV) Unix using configure
+----------------------------------------
+
+a) You have all the newest and greatest GNU tools installed on your system 
+and in the same directory hierachy (e.g. either all tools in /usr or all 
+in /usr/local), these tools are:
+- GNU libtool 1.2e (1.3 doesn't work here)
+- GNU autoconf 2.14 (including autoheader 2.14)
+- GNU automake 1.4 (including aclocal 1.4)
+and possibly but not forcibly
+- GNU make 3.76.1
+- GNU C++ (EGCS)
+
+-> Go to the base directory
+-> type: ./autogen.sh
+
+b) You don't know what autos are and have no driver's licence anyway:
+
+-> Go to the testconf directory
+-> type: ./apply
+
+a+b) Then proceed in either case with:
+
+-> Choose a directory name that seems fit for building wxWindows, e.g. mybuild
+-> Go the base directory
+-> type: mkdir mybuild
+-> type: cd mybuild
+-> type: ../configure --with-gtk   
+or type: ../configure --with-motif
+or type: ../configure --with-wine
+-> type make
+-> drink lots of coffee and go shopping
+
+
+V) MacOS
+----------------------------------------
+
+V) OS/2
+----------------------------------------
+
index ffde79e48ec009de2ae34a64574c529281086194..2eef78fcb9a4a10771055fd5fbc4c11b46b4a6c2 100644 (file)
 #endif
 
 #include "wx/window.h"
+#include "wx/button.h"
 
 WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr;
 
-
 class WXDLLEXPORT wxPanel : public wxWindow
 {
 public:
index a1a8a8126abdb806e7872bf6927150816b6be095..a27905231d5fa8944847b85bf240aaeb6b2f5c07 100644 (file)
@@ -70,12 +70,23 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer,wxObject)
 static gint timeout_callback( gpointer data )
 {
     wxTimer *timer = (wxTimer*)data;
+    
+#if (GTK_MINOR_VERSION > 0)
+    /* when getting called from GDK's timer handler we
+       are no longer within GDK's grab on the GUI
+       thread so we must lock it here ourselves */
+    GDK_THREADS_ENTER ();
+#endif
+    
     timer->Notify();
 
+#if (GTK_MINOR_VERSION > 0)
+    /* release lock again */
+    GDK_THREADS_LEAVE ();
+#endif
+
     if (timer->OneShot())
-    {
         timer->Stop();
-    }
 
     return TRUE;
 }
index a1a8a8126abdb806e7872bf6927150816b6be095..a27905231d5fa8944847b85bf240aaeb6b2f5c07 100644 (file)
@@ -70,12 +70,23 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer,wxObject)
 static gint timeout_callback( gpointer data )
 {
     wxTimer *timer = (wxTimer*)data;
+    
+#if (GTK_MINOR_VERSION > 0)
+    /* when getting called from GDK's timer handler we
+       are no longer within GDK's grab on the GUI
+       thread so we must lock it here ourselves */
+    GDK_THREADS_ENTER ();
+#endif
+    
     timer->Notify();
 
+#if (GTK_MINOR_VERSION > 0)
+    /* release lock again */
+    GDK_THREADS_LEAVE ();
+#endif
+
     if (timer->OneShot())
-    {
         timer->Stop();
-    }
 
     return TRUE;
 }