diff options
author | sb <sb@openoffice.org> | 2009-12-07 09:34:25 +0100 |
---|---|---|
committer | sb <sb@openoffice.org> | 2009-12-07 09:34:25 +0100 |
commit | e8686219ade1a44544d8c89246b75b19ab8eb67d (patch) | |
tree | 10a68417cc92f1d5de80ca94192296c2473d94f5 /sd/source | |
parent | cd65799aee7f9518572c9ab556e3f55cf449c87f (diff) | |
parent | 3838b0a0e8c89da328481dd6d417f5e4ebaeb953 (diff) |
merged in DEV300_m66
Diffstat (limited to 'sd/source')
-rw-r--r-- | sd/source/filter/eppt/eppt.cxx | 119 | ||||
-rw-r--r-- | sd/source/filter/eppt/eppt.hxx | 1 | ||||
-rw-r--r-- | sd/source/filter/eppt/epptso.cxx | 47 | ||||
-rw-r--r-- | sd/source/ui/app/sdmod.cxx | 12 | ||||
-rw-r--r-- | sd/source/ui/app/tbxww.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/dlg/PaneDockingWindow.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/dlg/animobjs.cxx | 4 | ||||
-rw-r--r-- | sd/source/ui/dlg/ins_paste.cxx | 4 | ||||
-rw-r--r-- | sd/source/ui/dlg/navigatr.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx | 22 | ||||
-rw-r--r-- | sd/source/ui/slidesorter/controller/SlsSlotManager.cxx | 8 | ||||
-rw-r--r-- | sd/source/ui/table/TableDesignPane.cxx | 4 | ||||
-rw-r--r-- | sd/source/ui/toolpanel/LayoutMenu.cxx | 13 | ||||
-rw-r--r-- | sd/source/ui/toolpanel/TitleToolBox.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/unoidl/unopage.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/view/Outliner.cxx | 3 |
16 files changed, 75 insertions, 172 deletions
diff --git a/sd/source/filter/eppt/eppt.cxx b/sd/source/filter/eppt/eppt.cxx index cb31e99aec63..ef697cfa9733 100644 --- a/sd/source/filter/eppt/eppt.cxx +++ b/sd/source/filter/eppt/eppt.cxx @@ -222,8 +222,6 @@ PPTWriter::PPTWriter( SvStorageRef& rSvStorage, } if ( !ImplCreateMainNotes() ) return; - maTextRuleList.First(); // rewind list, so we can get the current or next entry without - // searching, all entrys are sorted# for ( i = 0; i < mnPages; i++ ) { if ( !ImplCreateSlide( i ) ) @@ -274,8 +272,6 @@ PPTWriter::~PPTWriter() while( aStyleSheetIter < maStyleSheetList.end() ) delete *aStyleSheetIter++; - for ( pPtr = maTextRuleList.First(); pPtr; pPtr = maTextRuleList.Next() ) - delete (TextRuleEntry*)pPtr; for ( pPtr = maSlideNameList.First(); pPtr; pPtr = maSlideNameList.Next() ) delete (::rtl::OUString*)pPtr; for ( pPtr = maHyperlink.First(); pPtr; pPtr = maHyperlink.Next() ) @@ -560,22 +556,12 @@ sal_Bool PPTWriter::ImplCreateDocument() mpPptEscherEx->OpenContainer( EPP_SlideListWithText ); // Animation info fuer die Slides - sal_uInt32 nShapes; - sal_Bool bOtherThanPlaceHolders; - for ( i = 0; i < mnPages; i++ ) { - sal_uInt32 nPOffset, nPObjects; - sal_Bool bOutliner, bTitle; - - bOtherThanPlaceHolders = bOutliner = bTitle = FALSE; - nPObjects = 0; - mpPptEscherEx->AddAtom( 20, EPP_SlidePersistAtom ); mpPptEscherEx->InsertPersistOffset( EPP_MAINSLIDE_PERSIST_KEY | i, mpStrm->Tell() ); - *mpStrm << (sal_uInt32)0; // psrReference - logical reference to the slide persist object ( EPP_MAINSLIDE_PERSIST_KEY ) - nPOffset = mpStrm->Tell(); - *mpStrm << (sal_uInt32)0 // flags - only bit 3 used, if set then slide contains shapes other than placeholders + *mpStrm << (sal_uInt32)0 // psrReference - logical reference to the slide persist object ( EPP_MAINSLIDE_PERSIST_KEY ) + << (sal_uInt32)4 // flags - only bit 3 used, if set then slide contains shapes other than placeholders << (INT32)0 // numberTexts - number of placeholder texts stored with the persist object. Allows to display outline view without loading the slide persist objects << (INT32)i + 0x100 // slideId - Unique slide identifier, used for OLE link monikers for example << (sal_uInt32)0; // reserved, usualy 0 @@ -584,8 +570,6 @@ sal_Bool PPTWriter::ImplCreateDocument() return FALSE; ImplSetCurrentStyleSheet( ImplGetMasterIndex( NORMAL ) ); - const PHLayout& rLayout = ImplGetLayout( mXPagePropSet ); - ::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed > aXName( mXDrawPage, ::com::sun::star::uno::UNO_QUERY ); @@ -597,113 +581,16 @@ sal_Bool PPTWriter::ImplCreateDocument() } else maSlideNameList.Insert( new ::rtl::OUString(), LIST_APPEND ); - - nShapes = mXShapes->getCount(); - - sal_Bool bSecOutl = FALSE; - if ( nShapes && ( rLayout.bTitlePossible || rLayout.bOutlinerPossible ) ) - { - for ( sal_uInt32 nIndex = 0; nIndex < nShapes; nIndex++ ) - { - if ( !ImplGetShapeByIndex( nIndex ) ) - continue; - - if ( mbPresObj && ( ( mType == "presentation.Outliner" ) || ( mType == "presentation.Subtitle" ) ) ) - { - if ( bOutliner == FALSE ) - { - bOutliner = TRUE; - mnTextStyle = EPP_TEXTSTYLE_BODY; - sal_uInt32 nTextType = EPP_TEXTTYPE_Body; - if ( bSecOutl ) - nTextType = EPP_TEXTTYPE_HalfBody; - else if ( mType == "presentation.Subtitle" ) - nTextType = EPP_TEXTTYPE_CenterBody; - - TextRuleEntry* pRule = new TextRuleEntry( i ); - SvMemoryStream aExtBu( 0x200, 0x200 ); - if ( !mbEmptyPresObj ) - ImplGetText(); - ImplWriteTextStyleAtom( *mpStrm, nTextType, nPObjects, pRule, aExtBu, NULL ); - ImplWriteExtParaHeader( aExtBu, nPObjects++, nTextType, i + 0x100 ); - maTextRuleList.Insert( (void*)pRule, LIST_APPEND ); - if ( rLayout.bSecOutlinerPossible ) - { - if ( ( nIndex + 1 ) < nShapes ) - { - if ( ImplGetShapeByIndex( nIndex + 1 ) && mType == "presentation.Outliner" ) - { - bSecOutl = TRUE; - TextRuleEntry* pTempRule = new TextRuleEntry( i ); - SvMemoryStream aTmpStrm( 0x200, 0x200 ); - if ( !mbEmptyPresObj ) - ImplGetText(); - ImplWriteTextStyleAtom( *mpStrm, nTextType, nPObjects, pTempRule, aTmpStrm, NULL ); - ImplWriteExtParaHeader( aTmpStrm, nPObjects++, nTextType, i + 0x100 ); - maTextRuleList.Insert( (void*)pTempRule, LIST_APPEND ); - } - } - } - } - } - else if ( rLayout.bTitlePossible && ( mType == "presentation.TitleText" ) ) - { - if ( bTitle == FALSE ) - { - bTitle = TRUE; - mnTextStyle = EPP_TEXTSTYLE_TITLE; - TextRuleEntry* pRule = new TextRuleEntry( i ); - SvMemoryStream aExtBu( 0x200, 0x200 ); - if ( !mbEmptyPresObj ) - ImplGetText(); - ImplWriteTextStyleAtom( *mpStrm, EPP_TEXTTYPE_Title, nPObjects, pRule, aExtBu, NULL ); - ImplWriteExtParaHeader( aExtBu, nPObjects++, EPP_TEXTTYPE_Title, i + 0x100 ); - maTextRuleList.Insert( (void*)pRule, LIST_APPEND ); - } - } - else - { - if ( mbEmptyPresObj ) - nPObjects++; - else - bOtherThanPlaceHolders = TRUE; // muss noch auf background und leeren Title/outliner geprueft werden !!! - } - if ( bOutliner && bTitle && bOtherThanPlaceHolders ) - break; - } - } - if ( nPObjects ) - { - sal_uInt32 nOldPos = mpStrm->Tell(); - mpStrm->Seek( nPOffset ); - *mpStrm << (sal_uInt32)( ( bOtherThanPlaceHolders ) ? 4 : 0 ); - *mpStrm << nPObjects; - mpStrm->Seek( nOldPos ); - } } mpPptEscherEx->CloseContainer(); // EPP_SlideListWithText mpPptEscherEx->OpenContainer( EPP_SlideListWithText, 2 ); // Animation info fuer die notes for( i = 0; i < mnPages; i++ ) { - if ( !ImplGetPageByIndex( i, NOTICE ) ) - return FALSE; - - nShapes = mXShapes->getCount(); - - bOtherThanPlaceHolders = FALSE; - if ( nShapes ) - { - for ( sal_uInt32 nIndex = 0; ( nIndex < nShapes ) && ( bOtherThanPlaceHolders == FALSE ); nIndex++ ) - { - if ( ImplGetShapeByIndex( nIndex ) && ( mType != "drawing.Page" ) ) - bOtherThanPlaceHolders = TRUE; - } - } mpPptEscherEx->AddAtom( 20, EPP_SlidePersistAtom ); mpPptEscherEx->InsertPersistOffset( EPP_MAINNOTES_PERSIST_KEY | i, mpStrm->Tell() ); *mpStrm << (sal_uInt32)0 - << (sal_uInt32)( ( bOtherThanPlaceHolders ) ? 4 : 0 ) + << (sal_uInt32)4 << (INT32)0 << (INT32)i + 0x100 << (sal_uInt32)0; diff --git a/sd/source/filter/eppt/eppt.hxx b/sd/source/filter/eppt/eppt.hxx index 84b64e33157c..2ef66bb9be75 100644 --- a/sd/source/filter/eppt/eppt.hxx +++ b/sd/source/filter/eppt/eppt.hxx @@ -756,7 +756,6 @@ class PPTWriter : public GroupTable, public PropValue, public PPTExBulletProvide sal_uInt32 mnShapeMasterTitle; sal_uInt32 mnShapeMasterBody; - List maTextRuleList; // TextRuleEntry's List maHyperlink; FontCollection maFontCollection; diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx index 75e5a4ba3227..fbb46dc20b0f 100644 --- a/sd/source/filter/eppt/epptso.cxx +++ b/sd/source/filter/eppt/epptso.cxx @@ -4239,6 +4239,9 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a sal_Bool bAdditionalText = FALSE; + sal_Bool bSecOutl = FALSE; + sal_uInt32 nPObjects = 0; + SvMemoryStream* pClientTextBox = NULL; SvMemoryStream* pClientData = NULL; @@ -5341,32 +5344,32 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a if ( !pClientTextBox ) pClientTextBox = new SvMemoryStream( 0x200, 0x200 ); - *pClientTextBox << (sal_uInt32)( EPP_OutlineTextRefAtom << 16 ) << (sal_uInt32)4 - << nPlacementID; - if ( mbEmptyPresObj == FALSE ) { if ( ( ePageType == NORMAL ) && ( bMasterPage == FALSE ) ) - { // try to allocate the textruleratom - TextRuleEntry* pTextRule = (TextRuleEntry*)maTextRuleList.GetCurObject(); - while ( pTextRule ) + { + sal_uInt32 nTextType = EPP_TEXTTYPE_Body; + if ( mnTextStyle == EPP_TEXTSTYLE_BODY ) { - int nRulePage = pTextRule->nPageNumber; - if ( nRulePage > nPageNumber ) - break; - else if ( nRulePage < nPageNumber ) - pTextRule = (TextRuleEntry*)maTextRuleList.Next(); - else - { - SvMemoryStream* pOut = pTextRule->pOut; - if ( pOut ) - { - pClientTextBox->Write( pOut->GetData(), pOut->Tell() ); - delete pOut, pTextRule->pOut = NULL; - } - maTextRuleList.Next(); - break; - } + if ( bSecOutl ) + nTextType = EPP_TEXTTYPE_HalfBody; + else if ( mType == "presentation.Subtitle" ) + nTextType = EPP_TEXTTYPE_CenterBody; + bSecOutl = sal_True; + } + else + nTextType = EPP_TEXTTYPE_Title; + + TextRuleEntry aTextRule( nPageNumber ); + SvMemoryStream aExtBu( 0x200, 0x200 ); + ImplGetText(); + ImplWriteTextStyleAtom( *pClientTextBox, nTextType, nPObjects, &aTextRule, aExtBu, NULL ); + ImplWriteExtParaHeader( aExtBu, nPObjects++, nTextType, nPageNumber + 0x100 ); + SvMemoryStream* pOut = aTextRule.pOut; + if ( pOut ) + { + pClientTextBox->Write( pOut->GetData(), pOut->Tell() ); + delete pOut, aTextRule.pOut = NULL; } } } diff --git a/sd/source/ui/app/sdmod.cxx b/sd/source/ui/app/sdmod.cxx index f7e74a481740..957b1aa0475b 100644 --- a/sd/source/ui/app/sdmod.cxx +++ b/sd/source/ui/app/sdmod.cxx @@ -131,11 +131,6 @@ SdModule::SdModule(SfxObjectFactory* pFact1, SfxObjectFactory* pFact2 ) SdModule::~SdModule() { - // Mark the module in the global AppData structure as deleted. - SdModule** ppShellPointer = (SdModule**)GetAppData(SHL_DRAW); - if (ppShellPointer != NULL) - (*ppShellPointer) = NULL; - delete pSearchItem; if( pNumberFormatter ) @@ -152,6 +147,13 @@ SdModule::~SdModule() } } + mpResourceContainer.reset(); + + // Mark the module in the global AppData structure as deleted. + SdModule** ppShellPointer = (SdModule**)GetAppData(SHL_DRAW); + if (ppShellPointer != NULL) + (*ppShellPointer) = NULL; + delete mpErrorHdl; delete static_cast< VirtualDevice* >( mpVirtualRefDevice ); } diff --git a/sd/source/ui/app/tbxww.cxx b/sd/source/ui/app/tbxww.cxx index e94fe501d73b..4318f8f9b4ac 100644 --- a/sd/source/ui/app/tbxww.cxx +++ b/sd/source/ui/app/tbxww.cxx @@ -311,7 +311,7 @@ void SdTbxControl::StateChanged( USHORT nSId, Image aImage = GetImage( m_xFrame, aSlotURL, hasBigImages(), - GetToolBox().GetDisplayBackground().GetColor().IsDark() ); + GetToolBox().GetSettings().GetStyleSettings().GetHighContrastMode() ); // !-Operator prueft, ob Image nicht vorhanden ist if( !!aImage ) diff --git a/sd/source/ui/dlg/PaneDockingWindow.cxx b/sd/source/ui/dlg/PaneDockingWindow.cxx index 9ae95a079bd6..2aa6039cfb76 100644 --- a/sd/source/ui/dlg/PaneDockingWindow.cxx +++ b/sd/source/ui/dlg/PaneDockingWindow.cxx @@ -263,7 +263,7 @@ void PaneDockingWindow::InitializeTitleToolBox (void) Image aImage = Image (aBitmap, Color (COL_LIGHTMAGENTA)); Image aImageHC = Image (aBitmapHC, Color (BMP_COLOR_HIGHCONTRAST)); mpTitleToolBox->InsertItem (1, - GetSettings().GetStyleSettings().GetMenuBarColor().IsDark() + GetSettings().GetStyleSettings().GetHighContrastMode() ? aImageHC : aImage); mpTitleToolBox->ShowItem (1); diff --git a/sd/source/ui/dlg/animobjs.cxx b/sd/source/ui/dlg/animobjs.cxx index 0c05c58312b8..84d030867abb 100644 --- a/sd/source/ui/dlg/animobjs.cxx +++ b/sd/source/ui/dlg/animobjs.cxx @@ -138,7 +138,7 @@ void SdDisplay::DataChanged( const DataChangedEvent& rDCEvt ) { const StyleSettings& rStyles = Application::GetSettings().GetStyleSettings(); SetBackground( Wallpaper( Color( rStyles.GetFieldColor() ) ) ); - SetDrawMode( GetDisplayBackground().GetColor().IsDark() + SetDrawMode( GetSettings().GetStyleSettings().GetHighContrastMode() ? ViewShell::OUTPUT_DRAWMODE_CONTRAST : ViewShell::OUTPUT_DRAWMODE_COLOR ); } @@ -601,7 +601,7 @@ void AnimationWindow::UpdateControl( ULONG nListPos, BOOL bDisableCtrls ) aVD.SetOutputSize( aObjSize ); const StyleSettings& rStyles = Application::GetSettings().GetStyleSettings(); aVD.SetBackground( Wallpaper( rStyles.GetFieldColor() ) ); - aVD.SetDrawMode( GetDisplayBackground().GetColor().IsDark() + aVD.SetDrawMode( rStyles.GetHighContrastMode() ? ViewShell::OUTPUT_DRAWMODE_CONTRAST : ViewShell::OUTPUT_DRAWMODE_COLOR ); aVD.Erase(); diff --git a/sd/source/ui/dlg/ins_paste.cxx b/sd/source/ui/dlg/ins_paste.cxx index 9f2c3bf0b6b6..422acbec4a73 100644 --- a/sd/source/ui/dlg/ins_paste.cxx +++ b/sd/source/ui/dlg/ins_paste.cxx @@ -31,6 +31,10 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sd.hxx" +#ifdef SD_DLLIMPLEMENTATION +#undef SD_DLLIMPLEMENTATION +#endif + #include "ins_paste.hrc" #include "ins_paste.hxx" diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx index fa31c7fbb209..f251f6964263 100644 --- a/sd/source/ui/dlg/navigatr.cxx +++ b/sd/source/ui/dlg/navigatr.cxx @@ -863,7 +863,7 @@ void SdNavigatorWin::SetDragImage() void SdNavigatorWin::ApplyImageList() { - const bool bHighContrast = GetDisplayBackground().GetColor().IsDark() != 0; + const bool bHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode(); maToolbox.SetImageList( bHighContrast ? maImageListH : maImageList ); diff --git a/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx b/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx index f634d437ba4b..09c633424c6d 100644 --- a/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx +++ b/sd/source/ui/slidesorter/cache/SlsQueueProcessor.cxx @@ -161,11 +161,12 @@ void QueueProcessor::ProcessRequests (void) { OSL_ASSERT(mpCacheContext.get()!=NULL); - while ( ! mrQueue.IsEmpty() && ! mbIsPaused) + // Never process more than one request at a time in order to prevent the + // lock up of the edit view. + if ( ! mrQueue.IsEmpty() + && ! mbIsPaused + && mpCacheContext->IsIdle()) { - if ( ! mpCacheContext->IsIdle()) - break; - CacheKey aKey = NULL; RequestPriorityClass ePriorityClass (NOT_VISIBLE); { @@ -182,25 +183,12 @@ void QueueProcessor::ProcessRequests (void) if (aKey != NULL) ProcessOneRequest(aKey, ePriorityClass); - - // Requests of lower priority are processed one at a time. - { - ::osl::MutexGuard aGuard (mrQueue.GetMutex()); - if ( ! mrQueue.IsEmpty()) - if (mrQueue.GetFrontPriorityClass() > 0) - break; - } } // Schedule the processing of the next element(s). { ::osl::MutexGuard aGuard (mrQueue.GetMutex()); if ( ! mrQueue.IsEmpty()) - /* - if (bIsShowingFullScreenShow) - Start(mnTimeBetweenRequestsWhenNotIdle); - else - */ Start(mrQueue.GetFrontPriorityClass()); } } diff --git a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx index ba8dbb278ca4..4b48aa60678d 100644 --- a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx @@ -1085,6 +1085,14 @@ void SlotManager::InsertSlide (SfxRequest& rRequest) rSelector.SelectPage (nInsertionIndex); } + // Is there a stored insertion position? + else if (mrSlideSorter.GetController().GetSelectionManager()->GetInsertionPosition() >= 0) + { + nInsertionIndex + = mrSlideSorter.GetController().GetSelectionManager()->GetInsertionPosition() - 1; + rSelector.SelectPage(nInsertionIndex); + } + // Select the last page when there is at least one page. else if (rSelector.GetPageCount() > 0) { diff --git a/sd/source/ui/table/TableDesignPane.cxx b/sd/source/ui/table/TableDesignPane.cxx index 11cfdbb65ef0..098d71d1f06a 100644 --- a/sd/source/ui/table/TableDesignPane.cxx +++ b/sd/source/ui/table/TableDesignPane.cxx @@ -457,6 +457,10 @@ void TableDesignPane::updateLayout() Point aPos( pValueSet->GetPosPixel() ); + // The following line may look like a no-op but without it the + // control is placed off-screen when RTL is active. + pValueSet->SetPosPixel(pValueSet->GetPosPixel()); + // shift show options section down const long nOptionsPos = aPos.Y() + aValueSetSize.Height(); for( sal_Int32 nId = FL_STYLE_OPTIONS; nId <= CB_BANDED_COLUMNS; ++nId ) diff --git a/sd/source/ui/toolpanel/LayoutMenu.cxx b/sd/source/ui/toolpanel/LayoutMenu.cxx index 7a39f1c42f15..d2faeb06eb00 100644 --- a/sd/source/ui/toolpanel/LayoutMenu.cxx +++ b/sd/source/ui/toolpanel/LayoutMenu.cxx @@ -63,7 +63,7 @@ #include <vcl/image.hxx> #include <svtools/languageoptions.hxx> #include <sfx2/app.hxx> -#include "taskpane/TitledControl.hxx"
+#include "taskpane/TitledControl.hxx" #include <sfx2/dispatch.hxx> #include <sfx2/request.hxx> #include <comphelper/processfactory.hxx> @@ -808,7 +808,7 @@ SfxRequest LayoutMenu::CreateRequest ( void LayoutMenu::Fill (void) { - const bool bHighContrast = GetDisplayBackground().GetColor().IsDark() != 0; + const bool bHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode(); SvtLanguageOptions aLanguageOptions; sal_Bool bVertical = aLanguageOptions.IsVerticalTextEnabled(); SdDrawDocument* pDocument = mrBase.GetDocument(); @@ -917,8 +917,13 @@ void LayoutMenu::Command (const CommandEvent& rEvent) if (GetShellManager() != NULL) GetShellManager()->MoveToTop(this); if (rEvent.IsMouseEvent()) - mrBase.GetViewFrame()->GetDispatcher()->ExecutePopup( - SdResId(RID_TASKPANE_LAYOUTMENU_POPUP)); + { + // Do not show the context menu when the mouse was not + // pressed over an item. + if (GetItemId(rEvent.GetMousePosPixel()) > 0) + mrBase.GetViewFrame()->GetDispatcher()->ExecutePopup( + SdResId(RID_TASKPANE_LAYOUTMENU_POPUP)); + } else { // When the command event was not caused by a mouse diff --git a/sd/source/ui/toolpanel/TitleToolBox.cxx b/sd/source/ui/toolpanel/TitleToolBox.cxx index b06ab615cbf2..d108724f03d4 100644 --- a/sd/source/ui/toolpanel/TitleToolBox.cxx +++ b/sd/source/ui/toolpanel/TitleToolBox.cxx @@ -77,7 +77,7 @@ void TitleToolBox::AddItem (ToolBoxId aId) case TBID_DOCUMENT_CLOSE: InsertItem (TBID_DOCUMENT_CLOSE, - GetSettings().GetStyleSettings().GetMenuBarColor().IsDark() + GetSettings().GetStyleSettings().GetHighContrastMode() ? maImageHC : maImage, 0 ); break; diff --git a/sd/source/ui/unoidl/unopage.cxx b/sd/source/ui/unoidl/unopage.cxx index a252e2302b59..15b3b2224b4b 100644 --- a/sd/source/ui/unoidl/unopage.cxx +++ b/sd/source/ui/unoidl/unopage.cxx @@ -1014,7 +1014,7 @@ Any SAL_CALL SdGenericDrawPage::getPropertyValue( const OUString& PropertyName ) } case WID_PAGE_LDBITMAP: { - BOOL bHC = Application::GetSettings().GetStyleSettings().GetWindowColor().IsDark(); + BOOL bHC = Application::GetSettings().GetStyleSettings().GetHighContrastMode(); Reference< awt::XBitmap > xBitmap( VCLUnoHelper::CreateBitmap( BitmapEx( SdResId( bHC ? BMP_PAGE_H : BMP_PAGE ) ) ) ); aAny <<= xBitmap; diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx index 233976585e58..ba5836e8f1db 100644 --- a/sd/source/ui/view/Outliner.cxx +++ b/sd/source/ui/view/Outliner.cxx @@ -334,6 +334,9 @@ void Outliner::EndSpelling (void) { if (mbViewShellValid) { + // Keep old view shell alive until we release the outliner view. + ::boost::shared_ptr<ViewShell> pOldViewShell (mpViewShell); + ViewShellBase* pBase = PTR_CAST(ViewShellBase,SfxViewShell::Current()); if (pBase != NULL) mpViewShell = pBase->GetMainViewShell(); |