sw/uiconfig/swriter/ui/linenumbering.ui | 2 +- vcl/inc/vcl/dialog.hxx | 1 + vcl/source/control/fixed.cxx | 2 ++ vcl/source/window/builder.cxx | 26 +++++++++++++++++++++----- vcl/source/window/dialog.cxx | 7 ++++++- 5 files changed, 31 insertions(+), 7 deletions(-)
New commits: commit cd4d85b161096ed124258a236be73c1018305108 Author: Caolán McNamara <[email protected]> Date: Wed Aug 29 14:16:04 2012 +0100 GetProcAddress doesn't work like dlsym with executable's handle underlying GetProcAddress on windows, unlike dlsym, doesn't search through all loaded .dlls searching for the symbol when given the default module. So load the module by name. Change-Id: I148250c9d8dd5aa2b802581d049533f2c5e83caf diff --git a/sw/uiconfig/swriter/ui/linenumbering.ui b/sw/uiconfig/swriter/ui/linenumbering.ui index 35a8965..045bf88 100644 --- a/sw/uiconfig/swriter/ui/linenumbering.ui +++ b/sw/uiconfig/swriter/ui/linenumbering.ui @@ -207,7 +207,7 @@ </packing> </child> <child> - <object class="SwNumberingTypeListBox" id="formatdropdown"> + <object class="swlo:SwNumberingTypeListBox" id="formatdropdown"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index c45494f..fdf6a49 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -26,7 +26,7 @@ * instead of those above. */ -#include <osl/module.h> +#include <osl/module.hxx> #include <vcl/builder.hxx> #include <vcl/button.hxx> #include <vcl/dialog.hxx> @@ -342,6 +342,8 @@ bool VclBuilder::extractModel(const rtl::OString &id, stringmap &rMap) return false; } +extern "C" { static void SAL_CALL thisModule() {} } + Window *VclBuilder::makeObject(Window *pParent, const rtl::OString &name, const rtl::OString &id, stringmap &rMap) { bool bIsPlaceHolder = name.isEmpty(); @@ -472,10 +474,24 @@ Window *VclBuilder::makeObject(Window *pParent, const rtl::OString &name, const pWindow = new Window(pParent); else { - rtl::OString sFunction = rtl::OString("make") + name; - customMakeWidget pFunction = (customMakeWidget)osl_getAsciiFunctionSymbol(NULL, sFunction.getStr()); - if (pFunction) - pWindow = (*pFunction)(pParent); + sal_Int32 nDelim = name.indexOf(':'); + if (nDelim != -1) + { + rtl::OUStringBuffer sModule; +#ifdef SAL_DLLPREFIX + sModule.append(SAL_DLLPREFIX); +#endif + sModule.append(rtl::OStringToOUString(name.copy(0, nDelim), RTL_TEXTENCODING_UTF8)); +#ifdef SAL_DLLEXTENSION + sModule.append(SAL_DLLEXTENSION); +#endif + rtl::OUString sFunction(rtl::OStringToOUString(rtl::OString("make") + name.copy(nDelim+1), RTL_TEXTENCODING_UTF8)); + osl::Module aModule; + aModule.loadRelative(&thisModule, sModule.makeStringAndClear()); + customMakeWidget pFunction = (customMakeWidget)aModule.getFunctionSymbol(sFunction); + if (pFunction) + pWindow = (*pFunction)(pParent); + } } if (!pWindow) fprintf(stderr, "TO-DO, implement %s or add a make%s function\n", name.getStr(), name.getStr()); commit c644065868e7e4e981bc11eabdd3e86fd333bf3e Author: Caolán McNamara <[email protected]> Date: Mon Aug 27 09:33:40 2012 +0100 seperate layout from resize so layout can be triggered by queue_resize without calling virtual overrides of Resize Change-Id: Ibf7a4b763d05d9aa401cb15e510632410aeca30b diff --git a/vcl/inc/vcl/dialog.hxx b/vcl/inc/vcl/dialog.hxx index a56f12b..aa3c9cd 100644 --- a/vcl/inc/vcl/dialog.hxx +++ b/vcl/inc/vcl/dialog.hxx @@ -101,6 +101,7 @@ public: virtual void Resize(); bool isLayoutEnabled() const; void setInitialLayoutSize(); + void queue_layout(); virtual bool set_property(const rtl::OString &rKey, const rtl::OString &rValue); virtual sal_Bool Close(); diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index 6c94a17..13e1c12 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -1233,7 +1233,7 @@ IMPL_LINK( Dialog, ImplHandleLayoutTimerHdl, void*, EMPTYARG ) return 0; } -void Dialog::Resize() +void Dialog::queue_layout() { if (hasPendingLayout()) return; @@ -1244,6 +1244,11 @@ void Dialog::Resize() maLayoutTimer.Start(); } +void Dialog::Resize() +{ + queue_layout(); +} + bool Dialog::set_property(const rtl::OString &rKey, const rtl::OString &rValue) { if (rKey.equalsL(RTL_CONSTASCII_STRINGPARAM("border-width"))) commit 8f29e5b7001753dc2f65d358c221f2b20c5def6c Author: Caolán McNamara <[email protected]> Date: Mon Aug 27 09:07:14 2012 +0100 queue_resize on fixedimage graphic change Change-Id: I6de743a290b2a08d4c90be706ea28daae94c2e74 diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx index 7857f56..a63eb3e 100644 --- a/vcl/source/control/fixed.cxx +++ b/vcl/source/control/fixed.cxx @@ -922,6 +922,7 @@ void FixedBitmap::SetBitmap( const Bitmap& rBitmap ) { maBitmap = rBitmap; StateChanged( STATE_CHANGE_DATA ); + queue_resize(); } // ======================================================================= @@ -1145,6 +1146,7 @@ void FixedImage::SetImage( const Image& rImage ) { maImage = rImage; StateChanged( STATE_CHANGE_DATA ); + queue_resize(); } }
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
