Ticket #11616 (closed defect: fixed)
OSX: Unable to use FlexGridSizer::Insert
| Reported by: | Mdx4 | Owned by: | csomor |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.9.2 |
| Component: | wxOSX-Cocoa | Version: | 2.9-svn |
| Keywords: | FlexGridSizer Insert | Cc: | |
| Blocked By: | Patch: | yes | |
| Blocking: |
Description
Trying to compile the file layer_widget.cpp I obtain:
kicad-sources/pcbnew/layer_widget.cpp: In member function ‘void LAYER_WIDGET::insertLayerRow(int, const LAYER_SPEC&)’: kicad-sources/pcbnew/layer_widget.cpp:275: error: no matching function for call to ‘wxFlexGridSizer::Insert(long unsigned int, wxStaticBitmap*&, wxSizerFlags&)’ wxWidgets/include/wx/sizer.h:736: note: candidates are: virtual wxSizerItem* wxGridSizer::Insert(size_t, wxSizerItem*) kicad-sources/pcbnew/layer_widget.cpp:280: error: no matching function for call to ‘wxFlexGridSizer::Insert(long unsigned int, wxBitmapButton*&, wxSizerFlags&)’ wxWidgets/include/wx/sizer.h:736: note: candidates are: virtual wxSizerItem* wxGridSizer::Insert(size_t, wxSizerItem*) kicad-sources/pcbnew/layer_widget.cpp:287: error: no matching function for call to ‘wxFlexGridSizer::Insert(long unsigned int, wxStaticText*&, wxSizerFlags&)’ wxWidgets/include/wx/sizer.h:736: note: candidates are: virtual wxSizerItem* wxGridSizer::Insert(size_t, wxSizerItem*) kicad-sources/pcbnew/layer_widget.cpp:292: error: no matching function for call to ‘wxFlexGridSizer::Insert(long unsigned int, wxCheckBox*&, wxSizerFlags&)’ wxWidgets/include/wx/sizer.h:736: note: candidates are: virtual wxSizerItem* wxGridSizer::Insert(size_t, wxSizerItem*)
This code was reported to work with Linux but fails on OSX
I've resolved the issue changing commenting a virtual definition in wxGridSizer that overloads the one in wxSizer in sizer.h
Index: include/wx/sizer.h
===================================================================
--- include/wx/sizer.h (revision 63050)
+++ include/wx/sizer.h (working copy)
@@ -733,7 +733,7 @@
wxGridSizer( int rows, int cols, int vgap, int hgap );
wxGridSizer( int rows, int cols, const wxSize& gap );
- virtual wxSizerItem *Insert(size_t index, wxSizerItem *item);
+ //virtual wxSizerItem *Insert(size_t index, wxSizerItem *item);
virtual void RecalcSizes();
virtual wxSize CalcMin();
I don't know if is a good approach or if i've done something wrong, feedbacks are appreciated.
--
Marco
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

