]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/notebook.cpp
forgot to commit project file for CW before
[wxWidgets.git] / src / gtk / notebook.cpp
index fe5e5417203b2317784fcbf7cb0a524d9663cd43..113739fb5104a6453df28d1eb1b0954830c71b0c 100644 (file)
@@ -20,6 +20,7 @@
 #include "wx/imaglist.h"
 #include "wx/intl.h"
 #include "wx/log.h"
+#include "wx/bitmap.h"
 
 #include "wx/gtk/private.h"
 #include "wx/gtk/win_gtk.h"
@@ -86,14 +87,12 @@ static void gtk_notebook_page_change_callback(GtkNotebook *WXUNUSED(widget),
                                               gint page,
                                               wxNotebook *notebook )
 {
-    static bool s_inPageChange = FALSE;
-
     // are you trying to call SetSelection() from a notebook event handler?
     // you shouldn't!
-    wxCHECK_RET( !s_inPageChange,
+    wxCHECK_RET( !notebook->m_inSwitchPage,
                  _T("gtk_notebook_page_change_callback reentered") );
 
-    s_inPageChange = TRUE;
+    notebook->m_inSwitchPage = TRUE;
     if (g_isIdle)
         wxapp_install_idle_handler();
 
@@ -123,7 +122,7 @@ static void gtk_notebook_page_change_callback(GtkNotebook *WXUNUSED(widget),
         notebook->GetEventHandler()->ProcessEvent( eventChanged );
     }
 
-    s_inPageChange = FALSE;
+    notebook->m_inSwitchPage = FALSE;
 }
 
 //-----------------------------------------------------------------------------
@@ -190,6 +189,8 @@ static gint gtk_notebook_key_press_callback( GtkWidget *widget, GdkEventKey *gdk
     if ((gdk_event->keyval == GDK_Tab) || (gdk_event->keyval == GDK_ISO_Left_Tab))
     {
         int sel = win->GetSelection();
+        if (sel == -1)
+            return TRUE;
         wxGtkNotebookPage *nb_page = win->GetNotebookPage(sel);
         wxCHECK_MSG( nb_page, FALSE, _T("invalid selection in wxNotebook") );
 
@@ -236,6 +237,8 @@ END_EVENT_TABLE()
 void wxNotebook::Init()
 {
     m_padding = 0;
+    m_inSwitchPage = FALSE;
+
     m_imageList = (wxImageList *) NULL;
     m_pagesData.DeleteContents( TRUE );
     m_selection = -1;