Hi,
ok I have found the problem. It was in the WImagePair class:
The following code produced the core:
WImagePair::WImagePair(WImage* image1, WImage* image2,
bool clickIsSwitch, WContainerWidget *parent)
: WCompositeWidget(parent),
impl_(new WContainerWidget()),
icon1_(image1),
icon2_(image2)
{
setImplementation(impl_);
impl_->addWidget(icon1_);
impl_->addWidget(icon2_);
impl_->setLoadLaterWhenInvisible(false);
setImplementation(impl_);
...
}
And this fixes the core ;-)
WImagePair::WImagePair(WImage* image1, WImage* image2,
bool clickIsSwitch, WContainerWidget *parent)
: WCompositeWidget(parent),
impl_(new WContainerWidget()),
icon1_(image1),
icon2_(image2)
{
impl_->addWidget(icon1_);
impl_->addWidget(icon2_);
setImplementation(impl_);
/* ^^^^^^^^^^^^^^^
Seems to me that the setImplementation() method has changed... */
impl_->setLoadLaterWhenInvisible(false);
...
}
Stefan
Am 22.02.2013 12:03, schrieb Stefan Ruppert:
> Hi,
>
> I found the cause of the crash. Within our Wt app we wanted to use the
> WIconPair class. But with a sligthly modified WImage class. Therefore I
> copied the WIconPair to WImagePair which gets just already created
> WImage objects.
>
> The custom Image class adds support for showing a disabled (grey'd icon)!
>
> Adding a WImagePair object to a layout manager results in the previous
> mentioned core dump!
>
> I have attached the apropriate sources.
>
> class LeftViewShowImage : public Image
> {
> public:
> LeftViewShowImage(const Wt::WString& tooltip)
> : Image(tooltip,
> Wt::WLink(Wt::WApplication::resourcesUrl() +
> "icons/leftviewshow.png"),
> Wt::WLink(Wt::WApplication::resourcesUrl() +
> "icons/leftviewshow_d.png"),
> 16, 16) {}
> };
>
> class LeftViewHideImage : public Image
> {
> public:
> LeftViewHideImage(const Wt::WString& tooltip)
> : Image(tooltip,
> Wt::WLink(Wt::WApplication::resourcesUrl() +
> "icons/leftviewhide.png"),
> Wt::WLink(Wt::WApplication::resourcesUrl() +
> "icons/leftviewhide_d.png"),
> 16, 16) {}
> };
>
> mToggleLeftView =
> new WImagePair(new LeftViewHideImage(WString::tr("leftview-hide-text")),
> new LeftViewShowImage(WString::tr("leftview-show-text")));
>
> mToggleLeftView->icon1Clicked().connect(this, &Browser::toggleLeftView);
> mToggleLeftView->icon2Clicked().connect(this, &Browser::toggleLeftView);
>
> HBoxLayout* hbox1 = new WHBoxLayout();
>
> adding this widget to a layout causes the crash!
> ====> hbox1->addWidget(mToggleLeftView);
>
> Any idea?
>
>
> Regards,
> Stefan
>
>
> Am 22.02.2013 10:53, schrieb Stefan Ruppert:
>> Hi all,
>>
>> I'm currently trying to upgrade to Wt 3.3.0 from Wt 3.2.3. Compiling
>> just went fine. But during initialization I get the following core dump:
>>
>> It seems to me that some Widget/Layout we are using is not supported
>> anymore!?
>>
>> assert(false) within WContainerWidget::createLayoutItemImpl()!
>>
>> Any idea?
>>
>> Regards,
>> Stefan
>>
>>
>> #0 0x00007ffff6045425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
>> #1 0x00007ffff6048b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
>> #2 0x00007ffff603e0ee in ?? () from /lib/x86_64-linux-gnu/libc.so.6
>> #3 0x00007ffff603e192 in __assert_fail () from
>> /lib/x86_64-linux-gnu/libc.so.6
>> #4 0x00007ffff733faa7 in Wt::WContainerWidget::createLayoutItemImpl
>> (this=<optimized out>, item=0x7fffd4031570) at
>> /home/ruppert/work/wt/wt-3.3.0-rc2/src/Wt/WContainerWidget.C:176
>> #5 0x00007ffff74d9dc5 in Wt::WWidget::createSDomElement (this=0x3762,
>> app=0x376a) at /home/ruppert/work/wt/wt-3.3.0-rc2/src/Wt/WWidget.C:325
>> #6 0x00007ffff72b1f16 in Wt::StdWidgetItemImpl::createDomElement
>> (this=<optimized out>, fitWidth=<optimized out>, fitHeight=<optimized
>> out>, app=0x7fffd4031570) at
>> /home/ruppert/work/wt/wt-3.3.0-rc2/src/Wt/StdWidgetItemImpl.C:112
>> #7 0x00007ffff72ac267 in Wt::StdGridLayoutImpl2::createElement
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_feb
>
>
>
> _______________________________________________
> witty-interest mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/witty-interest
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest