diff options
author | Rüdiger Timm <rt@openoffice.org> | 2006-12-01 16:29:30 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2006-12-01 16:29:30 +0000 |
commit | fee5959e36c56a84ea880f7c7b9208c7a3f0df31 (patch) | |
tree | cd2d03ec6c559f051e7fa32ccacef95aaad88e18 /dbaccess/source/ui/app | |
parent | 106a9b992f9adaca175f422f0c4c33d9a1a3195e (diff) |
INTEGRATION: CWS dba22a (1.37.2); FILE MERGED
2006/11/15 08:49:48 fs 1.37.2.1: #142997#
modified the double-click handling in the DBTreeListBox
various stack trace reports suggest there are scenarios where a double click
handler somehow destroys/corrupts the list box and/or its entries, but the
subsequent default handling in the SvListBox class accesses those corrupted
entities.
Since we're not able to reproduce any of those crashs, the handling in the
DBTreeListBox and its clients now is as follows:
If a double click is handled, then the DBTreeListBox::DoubleClickHdl will
return 0, this way causing the SvListBox to *not* process the double
click event further.
Diffstat (limited to 'dbaccess/source/ui/app')
-rw-r--r-- | dbaccess/source/ui/app/AppController.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx index aefb14fb2b1e..5ec57a1c5e72 100644 --- a/dbaccess/source/ui/app/AppController.cxx +++ b/dbaccess/source/ui/app/AppController.cxx @@ -4,9 +4,9 @@ * * $RCSfile: AppController.cxx,v $ * - * $Revision: 1.37 $ + * $Revision: 1.38 $ * - * last change: $Author: ihi $ $Date: 2006-10-18 13:29:46 $ + * last change: $Author: rt $ $Date: 2006-12-01 17:29:30 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1612,7 +1612,7 @@ sal_Bool OApplicationController::onContainerSelect(ElementType _eType) return sal_True; } // ----------------------------------------------------------------------------- -void OApplicationController::onEntryDoubleClick(SvTreeListBox* _pTree) +bool OApplicationController::onEntryDoubleClick(SvTreeListBox* _pTree) { OSL_ENSURE(_pTree != NULL,"Who called me without a svtreelsiboc! ->GPF "); if ( getContainer() && getContainer()->isLeaf(_pTree->GetHdlEntry()) ) @@ -1620,12 +1620,14 @@ void OApplicationController::onEntryDoubleClick(SvTreeListBox* _pTree) try { openElement( getContainer()->getQualifiedName( _pTree->GetHdlEntry() ), getContainer()->getElementType() ); + return true; // handled } catch(const Exception&) { OSL_ENSURE(0,"Could not open element!"); } } + return false; // not handled } // ----------------------------------------------------------------------------- Reference< XComponent > OApplicationController::openElement(const ::rtl::OUString& _sName,ElementType _eType,OLinkedDocumentsAccess::EOpenMode _eOpenMode) |