Debugger branch is broken :(
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp: In member function ‘int InfoPane::GetCurrentPage(bool&)’:
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:204: error: ‘num_pages’ was not declared in this scope
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:206: error: request for member ‘indexInNB’ in ‘((InfoPane*)this)->InfoPane::page.InfoPane::wxArrayOfPage::operator[](((size_t)ii))’, which is of non-class type ‘InfoPane::Page*’
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:208: error: request for member ‘islogger’ in ‘((InfoPane*)this)->InfoPane::page.InfoPane::wxArrayOfPage::operator[](((size_t)ii))’, which is of non-class type ‘InfoPane::Page*’
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp: In member function ‘Logger* InfoPane::GetLogger(int)’:
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:217: error: ‘num_pages’ was not declared in this scope
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:219: error: request for member ‘islogger’ in ‘((InfoPane*)this)->InfoPane::page.InfoPane::wxArrayOfPage::operator[](((size_t)index))’, which is of non-class type ‘InfoPane::Page*’
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:219: error: request for member ‘logger’ in ‘((InfoPane*)this)->InfoPane::page.InfoPane::wxArrayOfPage::operator[](((size_t)index))’, which is of non-class type ‘InfoPane::Page*’
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp: In member function ‘wxWindow* InfoPane::GetWindow(int)’:
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:223: error: ‘num_pages’ was not declared in this scope
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:225: error: request for member ‘islogger’ in ‘((InfoPane*)this)->InfoPane::page.InfoPane::wxArrayOfPage::operator[](((size_t)index))’, which is of non-class type ‘InfoPane::Page*’
/home/obfuscated/projects/codeblocks/brances/wxpropgrid_debugger/src/src/infopane.cpp:225: error: request for member ‘window’ in ‘((InfoPane*)this)->InfoPane::page.InfoPane::wxArrayOfPage::operator[](((size_t)index))’, which is of non-class type ‘InfoPane::Page*’
Can you post it?
Please test this patch:
--- tmp/tmp93xXnj-meld/infopane.cpp
+++ home/jens/codeblocks-build/codeblocks.dbg/src/src/infopane.cpp
@@ -200,29 +200,22 @@
int InfoPane::GetCurrentPage(bool &is_logger)
{
- int page_index = GetSelection();
- for (int ii = 0; ii < num_pages; ++ii)
- {
- if (page[ii].indexInNB == page_index)
- {
- is_logger = page[ii].islogger;
- return ii;
- }
- }
- return -1;
+ int i = GetPageIndexByWindow(GetPage(GetSelection()));
+ is_logger = page.Item(i)->islogger;
+ return (is_logger?i:-1);
}
Logger* InfoPane::GetLogger(int index)
{
- if (index < 0 || index > num_pages)
+ if (index < 0 || (size_t)index > page.GetCount())
return NULL;
- return page[index].islogger ? page[index].logger : NULL;
+ return page.Item(index)->islogger ? page.Item(index)->logger : NULL;
}
wxWindow* InfoPane::GetWindow(int index)
{
- if (index < 0 || index > num_pages)
+ if (index < 0 || (size_t)index > page.GetCount())
return NULL;
- return !page[index].islogger ? page[index].window : NULL;
+ return !page.Item(index)->islogger ? page.Item(index)->window : NULL;
}
void InfoPane::Show(size_t i)