Bug #2036
closedCore dump in WAbstractItemView::modelHeaderDataChanged() of current git wt-3.3.0-30 (wt-a7f27d8)
0%
Description
Wt::WAbstractItemView::modelHeaderDataChanged (this=0x7fffc409b2a0, orientation=<optimized out>, start=<optimized out>, end=0)
at /home/ruppert/work/Wt/kdeforche-wt-a7f27d8/src/Wt/WAbstractItemView.C:929
929 WWidget *tw = hw->widget(hw->count() - 1);
(gdb) where
#0 Wt::WAbstractItemView::modelHeaderDataChanged (this=0x7fffc409b2a0, orientation=<optimized out>, start=<optimized out>, end=0)
at /home/ruppert/work/Wt/kdeforche-wt-a7f27d8/src/Wt/WAbstractItemView.C:929
#1 0x00007ffff722876a in operator() (a5=..., a4=..., a3=..., a2=<optimized out>, a1=<optimized out>, a0=<optimized out>,
this=<optimized out>) at /opt/devel/x86_64-unknown-linux-gnu/boost-1.48/include/boost/function/function_template.hpp:760
#2 operator()<boost::signals::detail::connection_slot_pair> (slot=..., this=0x7ffff35b8190)
at /opt/devel/x86_64-unknown-linux-gnu/boost-1.48/include/boost/signals/signal_template.hpp:119
#3 dereference (this=0x7ffff35b8150)
924 if (renderState_ < NeedRerenderHeader) {
925 if (orientation == Horizontal) {
926 for (int i = start; i <= end; ++i) {
927 WContainerWidget *hw
928 = dynamic_cast<WContainerWidget *>(headerWidget(i, true));
929 WWidget *tw = hw->widget(hw->count() - 1);
930 headerItemDelegate_->update(tw, headerModel_->index(0, i), 0);
931 tw->setInline(false);
932 tw->addStyleClass("Wt-label");
933 }
hw is here a null-pointer and core dumps... I added a "if(hw == 0) continue;" and it works...
Regards,
Stefan
Files
Updated by Koen Deforche over 11 years ago
- Status changed from New to InProgress
- Assignee set to Koen Deforche
- Target version set to 3.3.1
Updated by Koen Deforche over 11 years ago
Hey Stefan,
I cannot understand how this can happen. Any hint on the scenario? Is this a header data change by itself or part of more changes to the model and/or view?
Regards,
koen
Updated by Koen Deforche over 11 years ago
- Status changed from InProgress to Feedback
Updated by Stefan Ruppert over 11 years ago
Hi Koen,
I have a WTableView with a WStandardItemModel connected. Our implementation hides any column which was no data and directly after initialization no column has data and thus all columns are hidden.
Hope that helps to reproduce this behaviour.
Regards,
Stefan
Updated by Koen Deforche over 11 years ago
- Status changed from Feedback to InProgress
Updated by Koen Deforche about 11 years ago
- Status changed from InProgress to Feedback
Hey,
No luck. See attached test-case. Can you suggest how to modify it to reproduce the crash?
That would help us to make progress on this issue.
Regards,
koen
Updated by Koen Deforche about 11 years ago
- File HeaderCrash.cpp HeaderCrash.cpp added
Updated by Stefan Ruppert about 11 years ago
Hi Koen,
I don't think that I can get some time before october to try to reproduce it with your testcase.
Stefan
Updated by Koen Deforche about 11 years ago
- Target version changed from 3.3.1 to 3.3.2
Updated by Stefan Ruppert almost 11 years ago
Hi Koen,
it seems to me that this bug was implicitly fixed within wt 3.3.1. Now we have upgraded our apps to wt 3.3.1 about 4 weeks and this core didn't show up again! :-)
Stefan
Updated by Koen Deforche almost 11 years ago
- Status changed from Feedback to Closed
- Target version set to 3.3.1
Well,
Perhaps we did fix it. I'll give ourselves the benefit of the doubt :-)
koen