From 447325a44f93b92bb1be54542085ddd6875dfff8 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sun, 21 Jan 2007 00:52:05 +0000
Subject: [PATCH] use wxID_ANY for internal controller control instead of
 wxID_CHOICE/LIST/TOOLBAR/TREEBOOKTREEVIEW; this fixes asserts about using
 negative ids after last change

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 src/generic/choicbkg.cpp | 11 ++++++++---
 src/generic/listbkg.cpp  | 11 ++++++++---
 src/generic/toolbkg.cpp  |  5 ++---
 src/generic/treebkg.cpp  | 21 ++++++++++++++++-----
 4 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/src/generic/choicbkg.cpp b/src/generic/choicbkg.cpp
index 5a69921346..50ab914d84 100644
--- a/src/generic/choicbkg.cpp
+++ b/src/generic/choicbkg.cpp
@@ -54,10 +54,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxChoicebookEvent, wxNotifyEvent)
 const wxEventType wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = wxNewEventType();
 const wxEventType wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = wxNewEventType();
 #endif
-const int wxID_CHOICEBOOKCHOICE = wxWindow::NewControlId();
 
 BEGIN_EVENT_TABLE(wxChoicebook, wxBookCtrlBase)
-    EVT_CHOICE(wxID_CHOICEBOOKCHOICE, wxChoicebook::OnChoiceSelected)
+    EVT_CHOICE(wxID_ANY, wxChoicebook::OnChoiceSelected)
 END_EVENT_TABLE()
 
 // ============================================================================
@@ -98,7 +97,7 @@ wxChoicebook::Create(wxWindow *parent,
     m_bookctrl = new wxChoice
                  (
                     this,
-                    wxID_CHOICEBOOKCHOICE,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize
                  );
@@ -302,6 +301,12 @@ bool wxChoicebook::DeleteAllPages()
 
 void wxChoicebook::OnChoiceSelected(wxCommandEvent& eventChoice)
 {
+    if ( eventChoice.GetEventObject() != m_bookctrl )
+    {
+        eventChoice.Skip();
+        return;
+    }
+
     const int selNew = eventChoice.GetSelection();
 
     if ( selNew == m_selection )
diff --git a/src/generic/listbkg.cpp b/src/generic/listbkg.cpp
index fa585a19dd..ec18b7eb32 100644
--- a/src/generic/listbkg.cpp
+++ b/src/generic/listbkg.cpp
@@ -54,11 +54,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxListbookEvent, wxNotifyEvent)
 const wxEventType wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = wxNewEventType();
 const wxEventType wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED = wxNewEventType();
 #endif
-const int wxID_LISTBOOKLISTVIEW = wxWindow::NewControlId();
 
 BEGIN_EVENT_TABLE(wxListbook, wxBookCtrlBase)
     EVT_SIZE(wxListbook::OnSize)
-    EVT_LIST_ITEM_SELECTED(wxID_LISTBOOKLISTVIEW, wxListbook::OnListSelected)
+    EVT_LIST_ITEM_SELECTED(wxID_ANY, wxListbook::OnListSelected)
 END_EVENT_TABLE()
 
 // ============================================================================
@@ -103,7 +102,7 @@ wxListbook::Create(wxWindow *parent,
     m_bookctrl = new wxListView
                  (
                     this,
-                    wxID_LISTBOOKLISTVIEW,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize,
                     wxLC_ICON | wxLC_SINGLE_SEL |
@@ -392,6 +391,12 @@ bool wxListbook::DeleteAllPages()
 
 void wxListbook::OnListSelected(wxListEvent& eventList)
 {
+    if ( eventList.GetEventObject() != m_bookctrl )
+    {
+        eventList.Skip();
+        return;
+    }
+
     const int selNew = eventList.GetIndex();
 
     if ( selNew == m_selection )
diff --git a/src/generic/toolbkg.cpp b/src/generic/toolbkg.cpp
index 30b39328d8..0b87be4bc7 100644
--- a/src/generic/toolbkg.cpp
+++ b/src/generic/toolbkg.cpp
@@ -50,7 +50,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolbookEvent, wxNotifyEvent)
 const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED = wxNewEventType();
 #endif
-const int wxID_TOOLBOOKTOOLBAR = wxWindow::NewControlId();
 
 BEGIN_EVENT_TABLE(wxToolbook, wxBookCtrlBase)
     EVT_SIZE(wxToolbook::OnSize)
@@ -102,7 +101,7 @@ bool wxToolbook::Create(wxWindow *parent,
         m_bookctrl = new wxButtonToolBar
                  (
                     this,
-                    wxID_TOOLBOOKTOOLBAR,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize,
                     orient|wxTB_TEXT|wxTB_FLAT|wxNO_BORDER
@@ -114,7 +113,7 @@ bool wxToolbook::Create(wxWindow *parent,
         m_bookctrl = new wxToolBar
                  (
                     this,
-                    wxID_TOOLBOOKTOOLBAR,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize,
                     orient|wxTB_TEXT|wxTB_FLAT|wxTB_NODIVIDER|wxNO_BORDER
diff --git a/src/generic/treebkg.cpp b/src/generic/treebkg.cpp
index c82869767b..3d88255a0f 100644
--- a/src/generic/treebkg.cpp
+++ b/src/generic/treebkg.cpp
@@ -54,12 +54,11 @@ const wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED = wxNewEventType();
 #endif
-const int wxID_TREEBOOKTREEVIEW = wxWindow::NewControlId();
 
 BEGIN_EVENT_TABLE(wxTreebook, wxBookCtrlBase)
-    EVT_TREE_SEL_CHANGED   (wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeSelectionChange)
-    EVT_TREE_ITEM_EXPANDED (wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeNodeExpandedCollapsed)
-    EVT_TREE_ITEM_COLLAPSED(wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeNodeExpandedCollapsed)
+    EVT_TREE_SEL_CHANGED   (wxID_ANY, wxTreebook::OnTreeSelectionChange)
+    EVT_TREE_ITEM_EXPANDED (wxID_ANY, wxTreebook::OnTreeNodeExpandedCollapsed)
+    EVT_TREE_ITEM_COLLAPSED(wxID_ANY, wxTreebook::OnTreeNodeExpandedCollapsed)
 
     WX_EVENT_TABLE_CONTROL_CONTAINER(wxTreebook)
 END_EVENT_TABLE()
@@ -108,7 +107,7 @@ wxTreebook::Create(wxWindow *parent,
     m_bookctrl = new wxTreeCtrl
                  (
                     this,
-                    wxID_TREEBOOKTREEVIEW,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize,
 #ifndef __WXMSW__
@@ -691,6 +690,12 @@ void wxTreebook::AssignImageList(wxImageList *imageList)
 
 void wxTreebook::OnTreeSelectionChange(wxTreeEvent& event)
 {
+    if ( event.GetEventObject() != m_bookctrl )
+    {
+        event.Skip();
+        return;
+    }
+
     wxTreeItemId newId = event.GetItem();
 
     if ( (m_selection == wxNOT_FOUND &&
@@ -710,6 +715,12 @@ void wxTreebook::OnTreeSelectionChange(wxTreeEvent& event)
 
 void wxTreebook::OnTreeNodeExpandedCollapsed(wxTreeEvent & event)
 {
+    if ( event.GetEventObject() != m_bookctrl )
+    {
+        event.Skip();
+        return;
+    }
+
     wxTreeItemId nodeId = event.GetItem();
     if ( !nodeId.IsOk() || nodeId == GetTreeCtrl()->GetRootItem() )
         return;
-- 
2.47.2