download.lst                     |    4 ++--
 vcl/source/treelist/transfer.cxx |    1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 5c3cadc33af9d071387748a27aed15f73b1c0468
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Wed Jun 4 10:05:32 2025 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Thu Jun 5 11:29:05 2025 +0200

    curl: upgrade to 8.14.1
    
    Downloaded from https://curl.se/download/curl-8.14.1.tar.xz
    
    Change-Id: I1ca0df875c21de4ce713433beabb79ab9e6ae7ca
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186186
    Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/download.lst b/download.lst
index 27c24f401e5d..c949af24d94e 100644
--- a/download.lst
+++ b/download.lst
@@ -80,8 +80,8 @@ CPPUNIT_TARBALL := cppunit-1.15.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-CURL_SHA256SUM := 
b3634cfc538c72c9c6ca794ef4c73d7fdbd171e8dee2db837d83a5e45231002a
-CURL_TARBALL := curl-8.14.0.tar.xz
+CURL_SHA256SUM := 
f4619a1e2474c4bbfedc88a7c2191209c8334b48fa1f4e53fd584cc12e9120dd
+CURL_TARBALL := curl-8.14.1.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
commit 68327b9eba00fb8a7ded551cd94bb6dee9d78daa
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Tue Jun 3 15:50:58 2025 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Thu Jun 5 11:28:51 2025 +0200

    tdf#166837 vcl: Unset terminate listener once it's been notified
    
    When the TransferHelper's TerminateListener gets notified
    that the desktop terminates, i.e. when
    TransferableHelper::TerminateListener::notifyTermination
    gets called, clear TransferableHelper::mxTerminateListener
    once it has done its job (flushing content to the clipboard).
    
    This prevents the TransferableHelper dtor from later trying
    to create a Desktop instance using Desktop::create (to
    remove the listener), which throws an exception because the
    desktop has already been terminated, as seen with the qt6 vcl
    plugin for the tdf#166837 scenario.
    
    Backtrace of how TransferableHelper::TerminateListener::notifyTermination
    was called:
    
        1  TransferableHelper::TerminateListener::notifyTermination            
transfer.cxx         287  0x7f566e7300a4
        2  framework::Desktop::impl_sendTerminateToClipboard                   
desktop.cxx          1611 0x7f5674decc1e
        3  framework::Desktop::terminate                                       
desktop.cxx          281  0x7f5674debd0b
        4  SfxApplication::MiscExec_Impl                                       
appserv.cxx          437  0x7f5673a9071a
        5  SfxStubSfxApplicationMiscExec_Impl                                  
sfxslots.hxx         1300 0x7f5673a71f15
        6  SfxDispatcher::Call_Impl                                            
dispatch.cxx         256  0x7f5673bc9d9e
        7  SfxDispatcher::PostMsgHandler                                       
dispatch.cxx         997  0x7f5673bcf836
        8  SfxHintPoster::DoEvent_Impl                                         
hintpost.cxx         74   0x7f56740cd0ec
        9  SfxHintPoster::LinkStubDoEvent_Impl                                 
hintpost.cxx         54   0x7f56740cd02d
        10 Link<void *, void>::Call                                            
link.hxx             105  0x7f566e47dde1
        11 ImplHandleUserEvent                                                 
winproc.cxx          2285 0x7f566e47a011
        12 ImplWindowFrameProc                                                 
winproc.cxx          2849 0x7f566e476f3f
        13 SalFrame::CallCallback                                              
salframe.hxx         310  0x7f5665fd90ac
        14 QtInstance::ProcessEvent                                            
QtInstance.cxx       594  0x7f5665ffb25f
        15 SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const 
salusereventlist.cxx 119  0x7f566eb851bd
        16 SalUserEventList::DispatchUserEvents                                
salusereventlist.cxx 120  0x7f566eb8508b
        17 QtInstance::ImplYield                                               
QtInstance.cxx       488  0x7f5665ff7a21
        18 QtInstance::DoYield                                                 
QtInstance.cxx       510  0x7f5665ffadc1
        19 ImplYield                                                           
svapp.cxx            385  0x7f566ec510d6
        20 Application::Yield                                                  
svapp.cxx            488  0x7f566ec509ef
        21 Application::Execute                                                
svapp.cxx            360  0x7f566ec507d0
        22 desktop::Desktop::Main                                              
app.cxx              1680 0x7f5677b28e79
        23 ImplSVMain                                                          
svmain.cxx           231  0x7f566ec7b066
        24 SVMain                                                              
svmain.cxx           249  0x7f566ec7cb79
        25 soffice_main                                                        
sofficemain.cxx      122  0x7f5677ba31da
        26 sal_main                                                            
main.c               51   0x562d93f769fd
        27 main                                                                
main.c               49   0x562d93f769d7
    
    Backtrace of how the exception was triggered later:
    
        1 __pthread_kill_implementation pthread_kill.c 44 0x7f567789e95c
        2 __pthread_kill_internal pthread_kill.c 89 0x7f567789e9ff
        3 __GI_raise raise.c 26 0x7f5677849cc2
        4 __GI_abort abort.c 73 0x7f56778324ac
        5 ?? 0x7f56774a1a3d
        6 ?? 0x7f56774b344a
        7 std::terminate() 0x7f56774a15e9
        8 __clang_call_terminate 0x7f566e0b802e
        9 TransferableHelper::~TransferableHelper transfer.cxx 307 
0x7f566e7304fc
        10 ScSelectionTransferObj::~ScSelectionTransferObj seltrans.cxx 163 
0x7f563f2a5975
        11 ScSelectionTransferObj::~ScSelectionTransferObj seltrans.cxx 151 
0x7f563f2a59f9
        12 cppu::OWeakObject::release weak.cxx 230 0x7f5675c30f65
        13 cppu::WeakImplHelper<com::sun::star::datatransfer::XTransferable2, 
com::sun::star::datatransfer::clipboard::XClipboardOwner, 
com::sun::star::datatransfer::dnd::XDragSourceListener>::release implbase.hxx 
115 0x7f563f227e65
        14 
com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable>::~Reference
 Reference.hxx 114 0x7f5665f902ba
        15 QtClipboard::~QtClipboard QtClipboard.hxx 30 0x7f5665f91590
        16 QtClipboard::~QtClipboard QtClipboard.hxx 30 0x7f5665f915e9
        17 cppu::OWeakObject::release weak.cxx 230 0x7f5675c30f65
        18 cppu::WeakComponentImplHelperBase::release implbase.cxx 86 
0x7f5675b3dad6
        19 
cppu::PartialWeakComponentImplHelper<com::sun::star::datatransfer::clipboard::XSystemClipboard,
 com::sun::star::datatransfer::clipboard::XFlushableClipboard, 
com::sun::star::lang::XServiceInfo>::release compbase.hxx 86 0x7f5665f91695
        20 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>::~Reference
 Reference.hxx 114 0x7f5665f90afa
        21 std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>::~pair
 stl_pair.h 284 0x7f56660048ad
        22 std::destroy_at<std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>>
 stl_construct.h 88 0x7f5666004885
        23 
std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<rtl::OUString
 const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>,
 true>>>::destroy<std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>>
 alloc_traits.h 599 0x7f56660047ab
        24 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<rtl::OUString
 const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>,
 true>>>::_M_deallocate_node hashtable_policy.h 2046 0x7f56660047ab
        25 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<rtl::OUString
 const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>,
 true>>>::_M_deallocate_nodes hashtable_policy.h 2068 0x7f5666004711
        26 std::_Hashtable<rtl::OUString, std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>,
 std::allocator<std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>>,
 std::__detail::_Select1st, std::equal_to<rtl::OUString>, 
std::hash<rtl::OUString>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<true, false, true>>::clear hashtable.h 2588 
0x7f566600463c
        27 std::_Hashtable<rtl::OUString, std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>,
 std::allocator<std::pair<rtl::OUString const, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>>,
 std::__detail::_Select1st, std::equal_to<rtl::OUString>, 
std::hash<rtl::OUString>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<true, false, true>>::~_Hashtable hashtable.h 
1671 0x7f56660045e9
        28 std::__cxx1998::unordered_map<rtl::OUString, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>::~unordered_map
 unordered_map.h 109 0x7f56660045a5
        29 std::unordered_map<rtl::OUString, 
com::sun::star::uno::Reference<com::sun::star::datatransfer::clipboard::XClipboard>>::~unordered_map
 unordered_map 202 0x7f566600184d
        30 QtInstance::~QtInstance QtInstance.cxx 326 0x7f5665ff9774
        31 QtInstance::~QtInstance QtInstance.cxx 318 0x7f5665ff9809
        32 DestroySalInstance salplug.cxx 361 0x7f566eb83d04
        33 DeInitVCL svmain.cxx 599 0x7f566ec7ca95
        34 ImplSVMain svmain.cxx 242 0x7f566ec7b0bf
        35 SVMain svmain.cxx 249 0x7f566ec7cb79
        36 soffice_main sofficemain.cxx 122 0x7f5677ba31da
        37 sal_main main.c 51 0x562d93f769fd
        38 main main.c 49 0x562d93f769d7
    
    Change-Id: I92efa302395df884436201fb8262eeb0006c6db4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186149
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    (cherry picked from commit 919f4a1430a6f1daba756b7f9f7615c3c9f603ae)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186157
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit 08162b794a7402e029a495e713e6ec60f17040a3)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186178
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/vcl/source/treelist/transfer.cxx b/vcl/source/treelist/transfer.cxx
index af119397e0a8..1818db05f766 100644
--- a/vcl/source/treelist/transfer.cxx
+++ b/vcl/source/treelist/transfer.cxx
@@ -285,6 +285,7 @@ void SAL_CALL 
TransferableHelper::TerminateListener::queryTermination( const Eve
 void SAL_CALL TransferableHelper::TerminateListener::notifyTermination( const 
EventObject& )
 {
     mrParent.ImplFlush();
+    mrParent.mxTerminateListener.clear();
 }
 
 OUString SAL_CALL 
TransferableHelper::TerminateListener::getImplementationName()

Reply via email to