From: Robert Roebling Date: Fri, 18 Jun 1999 14:18:47 +0000 (+0000) Subject: Made things compile again (two pizzas). X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f6577bba759fe395e7d45464af985fec37eff2a4 Made things compile again (two pizzas). 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 --- diff --git a/BuildCVS.txt b/BuildCVS.txt new file mode 100644 index 0000000000..6bc0bc0bc7 --- /dev/null +++ b/BuildCVS.txt @@ -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 +---------------------------------------- + diff --git a/include/wx/generic/panelg.h b/include/wx/generic/panelg.h index ffde79e48e..2eef78fcb9 100644 --- a/include/wx/generic/panelg.h +++ b/include/wx/generic/panelg.h @@ -17,10 +17,10 @@ #endif #include "wx/window.h" +#include "wx/button.h" WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; - class WXDLLEXPORT wxPanel : public wxWindow { public: diff --git a/src/gtk/timer.cpp b/src/gtk/timer.cpp index a1a8a8126a..a27905231d 100644 --- a/src/gtk/timer.cpp +++ b/src/gtk/timer.cpp @@ -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; } diff --git a/src/gtk1/timer.cpp b/src/gtk1/timer.cpp index a1a8a8126a..a27905231d 100644 --- a/src/gtk1/timer.cpp +++ b/src/gtk1/timer.cpp @@ -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; }