vcl/qt5/QtInstanceBuilder.cxx  |    2 ++
 vcl/qt5/QtInstanceTreeView.cxx |    4 ++++
 2 files changed, 6 insertions(+)

New commits:
commit 52e00db5528a387d3bc7a1daa7f5b01b0ce6cf02
Author:     Michael Weghorn <[email protected]>
AuthorDate: Mon Oct 6 11:28:33 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Mon Oct 6 17:19:31 2025 +0200

    tdf#130857 qt weld: Support Writer "Caption" dialog
    
    This means that native Qt widgets are used for that dialog
    now when using the qt5 or qt6 VCL plugin and starting LO with
    environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set.
    
    The dialog can be triggered as follows:
    
    * start Writer
    * insert an Image via "Insert" -> "Image"
    * with image selected, open context menu
    * activate the "Insert Caption" context menu
      entry
    * in the "Insert Caption" dialog, press the
      "Auto..." button
    
    Change-Id: I6262b0e9d235f9efc6cde81614d42ba28025989d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191955
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx
index 7f760b5bf997..531fa673859e 100644
--- a/vcl/qt5/QtInstanceBuilder.cxx
+++ b/vcl/qt5/QtInstanceBuilder.cxx
@@ -155,6 +155,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& 
rUIFile, const weld::W
         u"modules/smath/ui/spacingdialog.ui"_ustr,
         u"modules/spropctrlr/ui/taborder.ui"_ustr,
         u"modules/swriter/ui/authenticationsettingsdialog.ui"_ustr,
+        u"modules/swriter/ui/captiondialog.ui"_ustr,
         u"modules/swriter/ui/captionoptions.ui"_ustr,
         u"modules/swriter/ui/columndialog.ui"_ustr,
         u"modules/swriter/ui/columnwidth.ui"_ustr,
@@ -247,6 +248,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& 
rUIFile, const weld::W
         u"filter/ui/pdfviewpage.ui"_ustr,
         u"modules/scalc/ui/statisticsinfopage.ui"_ustr,
         u"modules/simpress/ui/annotationtagmenu.ui"_ustr,
+        u"modules/swriter/ui/optcaptionpage.ui"_ustr,
         u"modules/swriter/ui/columnpage.ui"_ustr,
         u"modules/swriter/ui/printoptionspage.ui"_ustr,
         u"modules/swriter/ui/statisticsinfopage.ui"_ustr,
commit 33eea7bc2e764d115d7059b75352fcf4a3ac9b4a
Author:     Michael Weghorn <[email protected]>
AuthorDate: Mon Oct 6 11:19:23 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Mon Oct 6 17:19:25 2025 +0200

    tdf#130857 qt weld: Block toggled signal for new entry
    
    When the TreeView has special checkboxes enabled,
    block signals while calling QStandardItem::setCheckable
    for the item in the first column. This prevents triggering
    the QAbstractItemModel::dataChanged signal which would trigger
    weld::TreeView::signal_toggled from
    QtInstanceTreeView::handleDataChanged for the newly
    inserted row.
    Since the row is new, there is no logical change
    from a previous value from the weld API perspective.
    
    This fixes a crash otherwise seen with upcoming
    commit
    
        Change-Id: I6262b0e9d235f9efc6cde81614d42ba28025989d
        Author: Michael Weghorn <[email protected]>
        Date:   Mon Oct 6 11:28:33 2025 +0200
    
            tdf#130857 qt weld: Support Writer "Caption" dialog
    
     when triggering the then newly supported dialog.
    
    Backtrace:
    
        Thread 1 received signal SIGSEGV, Segmentation fault.
        rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:839
        839             return pData->length == 0;
        (rr) bt
        #0  rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:839
        #1  0x00007fd750a9fb07 in SwCaptionOptPage::UpdateEntry 
(this=0x55d1ea326dc0, nSelEntry=0) at 
/home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1235
        #2  0x00007fd750aa4e42 in SwCaptionOptPage::ToggleEntryHdl 
(this=0x55d1ea326dc0, rRowCol={...}) at 
/home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1344
        #3  0x00007fd750a9ce4d in SwCaptionOptPage::LinkStubToggleEntryHdl 
(instance=0x55d1ea326dc0, data={...}) at 
/home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1342
        #4  0x00007fd78ef17411 in Link<std::pair<weld::TreeIter const&, int> 
const&, void>::Call (this=0x55d1ea332d70, data={...}) at 
include/tools/link.hxx:105
        #5  0x00007fd78ef112f1 in weld::TreeView::signal_toggled 
(this=0x55d1ea332d00, rIterCol={...}) at include/vcl/weld.hxx:1011
        #6  0x00007fd78eef8507 in QtInstanceTreeView::handleDataChanged 
(this=0x55d1ea332b50, rTopLeft=..., rBottomRight=..., rRoles=...) at 
vcl/qt6/../qt5/QtInstanceTreeView.cxx:1214
        #7  0x00007fd78ef17f4a in 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, 
QModelIndex const&, QList<int> const&), QtInstanceTreeView*, 
void**)::{lambda()#1}::operator()() const (this=0x7ffe16a0ef90)
                at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
        #8  0x00007fd78ef17eb9 in 
QtPrivate::FunctorCallBase::call_internal<void, 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, 
QModelIndex const&, QList<int> const&), QtInstanceTreeView*, 
void**)::{lambda()#1}>(void**, 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, 
QModelIndex const&, QList<int> const&), QtInstanceTreeView*, 
void**)::{lambda()#1}&&) (args=0x7ffe16a0f360, fn=...)
                at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
        #9  0x00007fd78ef17e83 in 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>::call
                (f=(void (QtInstanceTreeView::*)(QtInstanceTreeView * const, 
const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78eef83b0 
<QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>, o=0x55d1ea332b50, arg=0x7ffe16a0f360) at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
        #10 0x00007fd78ef17dfd in QtPrivate::FunctionPointer<void 
(QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> 
const&)>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, 
QList<int> const&>, void>
                (f=(void (QtInstanceTreeView::*)(QtInstanceTreeView * const, 
const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78eef83b0 
<QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>, o=0x55d1ea332b50, arg=0x7ffe16a0f360) at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
        #11 0x00007fd78ef17d26 in QtPrivate::QCallableObject<void 
(QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> 
const&), QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> 
const&>, void>::impl
                (which=1, this_=0x55d1ea270ae0, r=0x55d1ea332b50, 
a=0x7ffe16a0f360, ret=0x0) at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
        #12 0x00007fd78dce95e2 in QtPrivate::QSlotObjectBase::call 
(this=0x55d1ea270ae0, r=0x55d1ea332b50, a=0x7ffe16a0f360) at 
qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
        #13 0x00007fd78df1400f in doActivate<false> (sender=0x55d1ea25a160, 
signal_index=3, argv=0x7ffe16a0f360) at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342
        #14 0x00007fd78df0a353 in QMetaObject::activate (sender=0x55d1ea25a160, 
m=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, 
argv=0x7ffe16a0f360)
                at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4402
        #15 0x00007fd78e36b5ce in QMetaObject::activate<void, QModelIndex, 
QModelIndex, QList<int> > (sender=0x55d1ea25a160, mo=0x7fd78e85ee68 
<QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, 
args=..., args=..., args=...)
                at qtbase/src/corelib/kernel/qobjectdefs.h:319
        #16 0x00007fd78e3667f0 in QAbstractItemModel::dataChanged 
(this=0x55d1ea25a160, _t1=..., _t2=..., _t3=...) at 
qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658
        #17 0x00007fd78e3f83c4 in 
QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=0x55d1e2894d60, 
source_top_left=..., source_bottom_right=..., roles=...)
                at 
/home/michi/development/git/qt5/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1528
        #18 0x00007fd78e43c83e in 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex 
const&, QList<int> const&)>::call(void 
(QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&), QSortFilterProxyModelPrivate*, 
void**)::{lambda()#1}::operator()() const
                (this=0x7ffe16a0f8a0) at 
qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
        #19 0x00007fd78e43c79d in 
QtPrivate::FunctorCallBase::call_internal<void, 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex 
const&, QList<int> const&)>::call(void 
(QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&), QSortFilterProxyModelPrivate*, 
void**)::{lambda()#1}>(void**, 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex 
const&, QList<int> const&)>::call(void 
(QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()#1}&&)
                (args=0x7ffe16a0fc80, fn=...) at 
qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
        #20 0x00007fd78e43c757 in 
QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, 
QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, 
void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex 
const&, QList<int> const&)>::call
                (f=(void 
(QSortFilterProxyModelPrivate::*)(QSortFilterProxyModelPrivate * const, const 
QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78e3f74a0 
<QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, 
QModelIndex const&, QList<int> const&)>, o=0x55d1e2894d60, arg=0x7ffe16a0fc80) 
at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
        #21 0x00007fd78e43c6c1 in QtPrivate::FunctionPointer<void 
(QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&)>::call<QtPrivate::List<QModelIndex const&, QModelIndex 
const&, QList<int> const&>, void>
                (f=(void 
(QSortFilterProxyModelPrivate::*)(QSortFilterProxyModelPrivate * const, const 
QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78e3f74a0 
<QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, 
QModelIndex const&, QList<int> const&)>, o=0x55d1e2894d60, arg=0x7ffe16a0fc80) 
at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
        #22 0x00007fd78e43c5f0 in QtPrivate::QPrivateSlotObject<void 
(QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, 
QList<int> const&), QtPrivate::List<QModelIndex const&, QModelIndex const&, 
QList<int> const&>, void>::impl (which=1, this_=0x55d1ea25a960, 
r=0x55d1ea25a160, a=0x7ffe16a0fc80, ret=0x0) at 
qtbase/src/corelib/kernel/qobject_p.h:272
        #23 0x00007fd78dce95e2 in QtPrivate::QSlotObjectBase::call 
(this=0x55d1ea25a960, r=0x55d1ea25a160, a=0x7ffe16a0fc80) at 
qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
        #24 0x00007fd78df1400f in doActivate<false> (sender=0x55d1ea259540, 
signal_index=3, argv=0x7ffe16a0fc80) at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342
        #25 0x00007fd78df0a353 in QMetaObject::activate (sender=0x55d1ea259540, 
m=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, 
argv=0x7ffe16a0fc80)
                at 
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4402
        #26 0x00007fd78e36b5ce in QMetaObject::activate<void, QModelIndex, 
QModelIndex, QList<int> > (sender=0x55d1ea259540, mo=0x7fd78e85ee68 
<QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, 
args=..., args=..., args=...)
                at qtbase/src/corelib/kernel/qobjectdefs.h:319
        #27 0x00007fd78e3667f0 in QAbstractItemModel::dataChanged 
(this=0x55d1ea259540, _t1=..., _t2=..., _t3=...) at 
qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658
        #28 0x00007fd78d23d7cd in QStandardItemModelPrivate::itemChanged 
(this=0x55d1ea259fb0, item=0x55d1ea28adf0, roles=...) at 
/home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:568
        #29 0x00007fd78d240701 in QStandardItem::setData (this=0x55d1ea28adf0, 
value=..., role=10) at 
/home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:909
        #30 0x00007fd78d240ccd in QStandardItem::setCheckable 
(this=0x55d1ea28adf0, checkable=true) at 
/home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1345
        #31 0x00007fd78ef0387f in QtInstanceTreeView::insert(weld::TreeIter 
const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, 
VirtualDevice*, bool, weld::TreeIter*)::$_0::operator()() const 
(this=0x55d1ea28a600)
                at vcl/qt6/../qt5/QtInstanceTreeView.cxx:88
        #32 0x00007fd78ef03355 in std::__invoke_impl<void, 
QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, 
rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, 
weld::TreeIter*)::$_0&>(std::__invoke_other, 
QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, 
rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, 
weld::TreeIter*)::$_0&) (__f=...)
                at 
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
        #33 0x00007fd78ef03315 in std::__invoke_r<void, 
QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, 
rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, 
weld::TreeIter*)::$_0&>(QtInstanceTreeView::insert(weld::TreeIter const*, int, 
rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, 
VirtualDevice*, bool, weld::TreeIter*)::$_0&) (__fn=...)
                at 
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
        #34 0x00007fd78ef031fd in std::_Function_handler<void(), 
QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, 
rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, 
weld::TreeIter*)::$_0>::_M_invoke
                (__functor=...) at 
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
        #35 0x00007fd78ee2adde in std::function<void()>::operator() 
(this=0x7ffe16a10278) at 
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
        #36 0x00007fd78ee2200f in QtInstance::RunInMainThread 
(this=0x55d1e1053a60, func=...) at vcl/qt6/../qt5/QtInstance.cxx:205
        #37 0x00007fd78eef9580 in QtInstanceTreeView::insert 
(this=0x55d1ea332b50, pParent=0x0, nPos=0, pStr=0x0, pId=0x0, pIconName=0x0, 
pImageSurface=0x0, bChildrenOnDemand=false, pRet=0x0) at 
vcl/qt6/../qt5/QtInstanceTreeView.cxx:62
        #38 0x00007fd78eef9735 in virtual thunk to 
QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, 
rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, 
weld::TreeIter*) ()
                at 
/home/michi/development/git/libreoffice/instdir/program/libvclplug_qt6lo.so
        #39 0x00007fd750a91799 in weld::TreeView::insert (this=0x55d1ea332d00, 
nRow=-1, pRet=0x0) at include/vcl/weld.hxx:1053
        #40 0x00007fd750a90c92 in weld::TreeView::append (this=0x55d1ea332d00, 
pRet=0x0) at include/vcl/weld.hxx:1056
        #41 0x00007fd750a9e2e9 in SwCaptionOptPage::Reset (this=0x55d1ea326dc0, 
rSet=0x7ffe16a10990) at 
/home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1096
        #42 0x00007fd79c8bdd00 in SfxSingleTabDialogController::SetTabPage 
(this=0x7ffe16a10938, xTabPage=std::unique_ptr<SfxTabPage> = {...}) at 
/home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:273
        #43 0x00007fd750a99f2d in SwCaptionOptDlg::SwCaptionOptDlg 
(this=0x7ffe16a10938, pParent=0x55d1e7e35f78, rSet=SfxItemSet of pool 
0x55d1e2a38060 with parent 0x0 and Which ranges: [(1, 160), (1000, 1252), 
(4021, 4078)])
                at 
/home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:854
        #44 0x00007fd750c21914 in SwCaptionDialog::CaptionHdl 
(this=0x7fd77c003ea0) at 
/home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:374
        #45 0x00007fd750c2006d in SwCaptionDialog::LinkStubCaptionHdl 
(instance=0x7fd77c003ea0, data=...) at 
/home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:371
        #46 0x00007fd7976aa801 in Link<weld::Button&, void>::Call 
(this=0x55d1e7e35748, data=...) at include/tools/link.hxx:105
        #47 0x00007fd79768582c in weld::Button::signal_clicked 
(this=0x55d1e7e35740) at include/vcl/weld.hxx:1563
        [...]
    
    Change-Id: I7ced40096c5d8cf840db3a185688017e0fdae692
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191954
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx
index 2316a3d672df..458ef5828bd2 100644
--- a/vcl/qt5/QtInstanceTreeView.cxx
+++ b/vcl/qt5/QtInstanceTreeView.cxx
@@ -85,7 +85,11 @@ void QtInstanceTreeView::insert(const weld::TreeIter* 
pParent, int nPos, const O
             pItem->setIcon(toQPixmap(*pImageSurface));
 
         if (m_bExtraToggleButtonsEnabled)
+        {
+            // avoid triggering signal_toggled via 
QtInstanceTreeView::handleDataChanged for new item
+            QSignalBlocker aSignalBlocker(m_pModel);
             
itemFromIndex(toggleButtonModelIndex(QtInstanceTreeIter(aIndex)))->setCheckable(true);
+        }
 
         if (pRet)
             static_cast<QtInstanceTreeIter*>(pRet)->setModelIndex(aIndex);

Reply via email to