From df27f1dc9e1c44825669cb6e883542719ea91df0 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 25 Oct 2012 22:19:20 +0000 Subject: [PATCH 1/1] Include wx/xml/xml.h from the XRC handlers that need it. Including this header from wx/xrc/xmlres.h itself only when WXMAKINGDLL_XRC is defined doesn't work when we're building a static library and not a shared/DLL one and we don't have any symbol defined in this case, so just don't try to be smart and include this header from the files that need it. This fixes breakage of r72756. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/xrc/xmlres.h | 14 ++------------ src/xrc/xh_bmpcbox.cpp | 2 ++ src/xrc/xh_chckl.cpp | 2 ++ src/xrc/xh_choic.cpp | 2 ++ src/xrc/xh_combo.cpp | 2 ++ src/xrc/xh_editlbox.cpp | 2 ++ src/xrc/xh_htmllbox.cpp | 2 ++ src/xrc/xh_listb.cpp | 2 ++ src/xrc/xh_odcombo.cpp | 2 ++ src/xrc/xh_radbx.cpp | 2 ++ src/xrc/xh_sizer.cpp | 1 + src/xrc/xh_split.cpp | 2 ++ src/xrc/xh_toolb.cpp | 2 ++ src/xrc/xh_toolbk.cpp | 2 ++ src/xrc/xh_treebk.cpp | 2 ++ 15 files changed, 29 insertions(+), 12 deletions(-) diff --git a/include/wx/xrc/xmlres.h b/include/wx/xrc/xmlres.h index 7ddca28eef..4622b3d8a7 100644 --- a/include/wx/xrc/xmlres.h +++ b/include/wx/xrc/xmlres.h @@ -29,18 +29,6 @@ #include "wx/animate.h" #include "wx/vector.h" -// We want to prevent the handlers defined outside of the XRC library from ever -// using wxXmlNode directly as this would result in linking errors as the other -// libraries don't link with the xml one (only xrc does). So do not include -// this header unless building xrc itself (where a lot of code does use -// wxXmlNode directly). -#ifdef WXMAKINGDLL_XRC - #include "wx/xml/xml.h" -#else - class WXDLLIMPEXP_FWD_XML wxXmlDocument; - class WXDLLIMPEXP_FWD_XML wxXmlNode; -#endif - #include "wx/xrc/xmlreshandler.h" class WXDLLIMPEXP_FWD_BASE wxFileName; @@ -55,6 +43,8 @@ class WXDLLIMPEXP_FWD_CORE wxWindow; class WXDLLIMPEXP_FWD_CORE wxFrame; class WXDLLIMPEXP_FWD_CORE wxToolBar; +class WXDLLIMPEXP_FWD_XML wxXmlDocument; +class WXDLLIMPEXP_FWD_XML wxXmlNode; class WXDLLIMPEXP_FWD_XRC wxXmlSubclassFactory; class wxXmlSubclassFactories; class wxXmlResourceModule; diff --git a/src/xrc/xh_bmpcbox.cpp b/src/xrc/xh_bmpcbox.cpp index 43936df9dd..f88dc7bc3f 100644 --- a/src/xrc/xh_bmpcbox.cpp +++ b/src/xrc/xh_bmpcbox.cpp @@ -26,6 +26,8 @@ #include "wx/bmpcbox.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxBitmapComboBoxXmlHandler, wxXmlResourceHandler) wxBitmapComboBoxXmlHandler::wxBitmapComboBoxXmlHandler() diff --git a/src/xrc/xh_chckl.cpp b/src/xrc/xh_chckl.cpp index a633b112a9..c8f853a51e 100644 --- a/src/xrc/xh_chckl.cpp +++ b/src/xrc/xh_chckl.cpp @@ -25,6 +25,8 @@ #include "wx/checklst.h" #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxCheckListBoxXmlHandler, wxXmlResourceHandler) wxCheckListBoxXmlHandler::wxCheckListBoxXmlHandler() diff --git a/src/xrc/xh_choic.cpp b/src/xrc/xh_choic.cpp index 6a0ccc2566..7aaf0f0bc6 100644 --- a/src/xrc/xh_choic.cpp +++ b/src/xrc/xh_choic.cpp @@ -24,6 +24,8 @@ #include "wx/choice.h" #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxChoiceXmlHandler, wxXmlResourceHandler) wxChoiceXmlHandler::wxChoiceXmlHandler() diff --git a/src/xrc/xh_combo.cpp b/src/xrc/xh_combo.cpp index fd3179a66b..78e1556cc9 100644 --- a/src/xrc/xh_combo.cpp +++ b/src/xrc/xh_combo.cpp @@ -25,6 +25,8 @@ #include "wx/textctrl.h" // for wxTE_PROCESS_ENTER #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxComboBoxXmlHandler, wxXmlResourceHandler) wxComboBoxXmlHandler::wxComboBoxXmlHandler() diff --git a/src/xrc/xh_editlbox.cpp b/src/xrc/xh_editlbox.cpp index 70246cc51b..cf1d4f676b 100644 --- a/src/xrc/xh_editlbox.cpp +++ b/src/xrc/xh_editlbox.cpp @@ -32,6 +32,8 @@ #include "wx/editlbox.h" #include "wx/xrc/xh_editlbox.h" +#include "wx/xml/xml.h" + // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- diff --git a/src/xrc/xh_htmllbox.cpp b/src/xrc/xh_htmllbox.cpp index 5753a21324..da11414ad7 100644 --- a/src/xrc/xh_htmllbox.cpp +++ b/src/xrc/xh_htmllbox.cpp @@ -22,6 +22,8 @@ #include "wx/htmllbox.h" #include "wx/filesys.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxSimpleHtmlListBoxXmlHandler, wxXmlResourceHandler) wxSimpleHtmlListBoxXmlHandler::wxSimpleHtmlListBoxXmlHandler() diff --git a/src/xrc/xh_listb.cpp b/src/xrc/xh_listb.cpp index fb92aeae16..1c51e89210 100644 --- a/src/xrc/xh_listb.cpp +++ b/src/xrc/xh_listb.cpp @@ -24,6 +24,8 @@ #include "wx/listbox.h" #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxListBoxXmlHandler, wxXmlResourceHandler) wxListBoxXmlHandler::wxListBoxXmlHandler() diff --git a/src/xrc/xh_odcombo.cpp b/src/xrc/xh_odcombo.cpp index fa4503ff64..8ee6ebc034 100644 --- a/src/xrc/xh_odcombo.cpp +++ b/src/xrc/xh_odcombo.cpp @@ -26,6 +26,8 @@ #include "wx/odcombo.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxOwnerDrawnComboBoxXmlHandler, wxXmlResourceHandler) wxOwnerDrawnComboBoxXmlHandler::wxOwnerDrawnComboBoxXmlHandler() diff --git a/src/xrc/xh_radbx.cpp b/src/xrc/xh_radbx.cpp index c6ee9307a6..921938f540 100644 --- a/src/xrc/xh_radbx.cpp +++ b/src/xrc/xh_radbx.cpp @@ -24,6 +24,8 @@ #include "wx/radiobox.h" #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxRadioBoxXmlHandler, wxXmlResourceHandler) wxRadioBoxXmlHandler::wxRadioBoxXmlHandler() diff --git a/src/xrc/xh_sizer.cpp b/src/xrc/xh_sizer.cpp index ad9fd57986..b0dd955f44 100644 --- a/src/xrc/xh_sizer.cpp +++ b/src/xrc/xh_sizer.cpp @@ -35,6 +35,7 @@ #include "wx/notebook.h" #include "wx/tokenzr.h" +#include "wx/xml/xml.h" //----------------------------------------------------------------------------- // wxSizerXmlHandler diff --git a/src/xrc/xh_split.cpp b/src/xrc/xh_split.cpp index e14300f4f9..7e3175c657 100644 --- a/src/xrc/xh_split.cpp +++ b/src/xrc/xh_split.cpp @@ -25,6 +25,8 @@ #include "wx/splitter.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindowXmlHandler, wxXmlResourceHandler) wxSplitterWindowXmlHandler::wxSplitterWindowXmlHandler() : wxXmlResourceHandler() diff --git a/src/xrc/xh_toolb.cpp b/src/xrc/xh_toolb.cpp index 2d262ee902..0c10153648 100644 --- a/src/xrc/xh_toolb.cpp +++ b/src/xrc/xh_toolb.cpp @@ -26,6 +26,8 @@ #include "wx/toolbar.h" #endif +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler) wxToolBarXmlHandler::wxToolBarXmlHandler() diff --git a/src/xrc/xh_toolbk.cpp b/src/xrc/xh_toolbk.cpp index 22f9b33a41..fce8217d3d 100644 --- a/src/xrc/xh_toolbk.cpp +++ b/src/xrc/xh_toolbk.cpp @@ -26,6 +26,8 @@ #include "wx/toolbook.h" #include "wx/imaglist.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxToolbookXmlHandler, wxXmlResourceHandler) wxToolbookXmlHandler::wxToolbookXmlHandler() diff --git a/src/xrc/xh_treebk.cpp b/src/xrc/xh_treebk.cpp index 591d8c50f0..9780ce24ea 100644 --- a/src/xrc/xh_treebk.cpp +++ b/src/xrc/xh_treebk.cpp @@ -26,6 +26,8 @@ #include "wx/treebook.h" #include "wx/imaglist.h" +#include "wx/xml/xml.h" + IMPLEMENT_DYNAMIC_CLASS(wxTreebookXmlHandler, wxXmlResourceHandler) wxTreebookXmlHandler::wxTreebookXmlHandler() -- 2.45.2