Hi All!
I'm working on converting the palette popup window (*SvxColorWindow_Impl*,
looks like this in my branch right now: http://i.imgur.com/4XAbRaH.png) to
use the widget layout, and I kind of got it working. It places the widgets
based on a .ui file, but a *ComboBox* makes LO crash at the slightest
provocation.
To make *SvxColorWindow_Impl* use the widget layout, I did some research,
and I drew this inheritance diagram: http://i.imgur.com/KK2GegK.jpg
I made *FloatingWindow* also inherit from *VclBuilderContainer*, like
*Dialog*, and added new ctors to *FloatingWindow* and *SfxPopupWindow*,
that take two extra string parameters for the .ui file location and the id
of the root widget.
I hardcoded the .ui path for *SvxColorWindow_Impl* in its ctor, since it's
supposed to be a leaf in the inheritance tree.
I also copypasted *GetOptimalSize*, *SetPosSizePixel*, *SetSizePixel* and
*SetPosPixel* from *TabPage* to *FloatingWindow*.
This made the popup window show up, if I disabled parts of the code that
called methods on the *ComboBox*.
The *ComboBox* is initialized with *get*, as all other widgets.
I found that *mpFloatWin* in *ComboBox* gets set to *0xcccccccccccccccc*,
so I think it's not initialized properly. (I'm giving *get* the correct id
from the .ui, so that's not it.)
If I call either *AdaptDropDownLineCountToMaximu**m* or *InsertEntry* in
the ctor of *SvxColorWindow_Impl*, LO crashes immediately when the popup
window is opened.
Are there any well known/typical reasons why this would happen?
If anyone has any insights, please share them! Thank you!
All the best,
Krisztian
Context
- [GSoC] Improved Color Selection - help needed · Krisztian Pinter
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.