summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsd/source/core/stlpool.cxx3
-rw-r--r--[-rwxr-xr-x]sd/source/ui/framework/factories/BasicViewFactory.cxx3
-rwxr-xr-xsd/source/ui/framework/factories/BasicViewFactory.hxx1
-rwxr-xr-xsd/source/ui/framework/module/ModuleController.cxx4
-rwxr-xr-xsd/source/ui/func/fuhhconv.cxx10
-rwxr-xr-xsd/source/ui/presenter/PresenterTextView.cxx2
-rw-r--r--sd/source/ui/slidesorter/controller/SlideSorterController.cxx5
-rwxr-xr-x[-rw-r--r--]sd/source/ui/toolpanel/TaskPaneFocusManager.cxx19
-rwxr-xr-x[-rw-r--r--]sd/source/ui/toolpanel/TaskPaneFocusManager.hxx1
-rwxr-xr-xsd/source/ui/toolpanel/controls/CurrentMasterPagesSelector.cxx2
-rw-r--r--slideshow/source/engine/animationnodes/basenode.hxx2
-rw-r--r--slideshow/source/engine/shapes/drawshape.hxx2
-rw-r--r--slideshow/source/engine/shapes/gdimtftools.cxx5
-rw-r--r--slideshow/source/engine/slide/slideimpl.cxx2
-rw-r--r--slideshow/source/engine/transitions/randomwipe.cxx10
15 files changed, 45 insertions, 26 deletions
diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx
index ceb7980ea..babe9571c 100755
--- a/sd/source/core/stlpool.cxx
+++ b/sd/source/core/stlpool.cxx
@@ -1060,6 +1060,9 @@ void SdStyleSheetPool::PutNumBulletItem( SfxStyleSheetBase* pSheet,
{
SvxNumberFormat aFrmt( pDefaultRule->GetLevel(i) );
aFrmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
+ // #i93908# clear suffix for bullet lists
+ aFrmt.SetPrefix(::rtl::OUString());
+ aFrmt.SetSuffix(::rtl::OUString());
aFrmt.SetStart(1);
aFrmt.SetBulletRelSize(45);
aFrmt.SetBulletChar( 0x25CF ); // StarBats: 0xF000 + 34
diff --git a/sd/source/ui/framework/factories/BasicViewFactory.cxx b/sd/source/ui/framework/factories/BasicViewFactory.cxx
index 232f52bd5..f23a68580 100755..100644
--- a/sd/source/ui/framework/factories/BasicViewFactory.cxx
+++ b/sd/source/ui/framework/factories/BasicViewFactory.cxx
@@ -142,8 +142,9 @@ BasicViewFactory::BasicViewFactory (
mpViewShellContainer(new ViewShellContainer()),
mpBase(NULL),
mpFrameView(NULL),
+ mpWindow(new WorkWindow(NULL,WB_STDWORK)),
mpViewCache(new ViewCache()),
- mxLocalPane(new Pane(Reference<XResourceId>(), new WorkWindow(NULL,WB_STDWORK)))
+ mxLocalPane(new Pane(Reference<XResourceId>(), mpWindow.get()))
{
(void)rxContext;
}
diff --git a/sd/source/ui/framework/factories/BasicViewFactory.hxx b/sd/source/ui/framework/factories/BasicViewFactory.hxx
index fb433b165..87cf18c94 100755
--- a/sd/source/ui/framework/factories/BasicViewFactory.hxx
+++ b/sd/source/ui/framework/factories/BasicViewFactory.hxx
@@ -119,6 +119,7 @@ private:
FrameView* mpFrameView;
class ViewCache;
+ ::boost::shared_ptr<Window> mpWindow;
::boost::shared_ptr<ViewCache> mpViewCache;
css::uno::Reference<css::drawing::framework::XPane> mxLocalPane;
diff --git a/sd/source/ui/framework/module/ModuleController.cxx b/sd/source/ui/framework/module/ModuleController.cxx
index ef4b8b529..1838a49b9 100755
--- a/sd/source/ui/framework/module/ModuleController.cxx
+++ b/sd/source/ui/framework/module/ModuleController.cxx
@@ -143,6 +143,10 @@ ModuleController::~ModuleController (void) throw()
void SAL_CALL ModuleController::disposing (void)
{
+ // Break the cyclic reference back to DrawController object
+ mpLoadedFactories.reset();
+ mpResourceToFactoryMap.reset();
+ mxController.clear();
}
diff --git a/sd/source/ui/func/fuhhconv.cxx b/sd/source/ui/func/fuhhconv.cxx
index 99dacf7dc..ce28b1e77 100755
--- a/sd/source/ui/func/fuhhconv.cxx
+++ b/sd/source/ui/func/fuhhconv.cxx
@@ -203,11 +203,11 @@ void FuHangulHanjaConversion::ConvertStyles( sal_Int16 nTargetLanguage, const Fo
{
// set new font attribute
SvxFontItem aFontItem( (SvxFontItem&) rSet.Get( EE_CHAR_FONTINFO_CJK ) );
- aFontItem.GetFamilyName() = pTargetFont->GetName();
- aFontItem.GetFamily() = pTargetFont->GetFamily();
- aFontItem.GetStyleName() = pTargetFont->GetStyleName();
- aFontItem.GetPitch() = pTargetFont->GetPitch();
- aFontItem.GetCharSet() = pTargetFont->GetCharSet();
+ aFontItem.SetFamilyName( pTargetFont->GetName());
+ aFontItem.SetFamily( pTargetFont->GetFamily());
+ aFontItem.SetStyleName( pTargetFont->GetStyleName());
+ aFontItem.SetPitch( pTargetFont->GetPitch());
+ aFontItem.SetCharSet( pTargetFont->GetCharSet());
rSet.Put( aFontItem );
}
diff --git a/sd/source/ui/presenter/PresenterTextView.cxx b/sd/source/ui/presenter/PresenterTextView.cxx
index 296769d2d..1f8882b86 100755
--- a/sd/source/ui/presenter/PresenterTextView.cxx
+++ b/sd/source/ui/presenter/PresenterTextView.cxx
@@ -498,7 +498,7 @@ void PresenterTextView::Implementation::SetFontDescriptor (
mpEditEngineItemPool->SetPoolDefaultItem( aFontHeight);
SvxFontItem aSvxFontItem (EE_CHAR_FONTINFO);
- aSvxFontItem.GetFamilyName() = rFontDescriptor.Name;
+ aSvxFontItem.SetFamilyName( rFontDescriptor.Name );
mpEditEngineItemPool->SetPoolDefaultItem(aSvxFontItem);
mnTotalHeight = -1;
diff --git a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
index b5db14907..b920b900e 100644
--- a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
+++ b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
@@ -372,7 +372,12 @@ bool SlideSorterController::Command (
{
bool bEventHasBeenHandled = false;
+ if (pWindow == NULL)
+ return false;
+
ViewShell* pViewShell = mrSlideSorter.GetViewShell();
+ if (pViewShell == NULL)
+ return false;
switch (rEvent.GetCommand())
{
diff --git a/sd/source/ui/toolpanel/TaskPaneFocusManager.cxx b/sd/source/ui/toolpanel/TaskPaneFocusManager.cxx
index cf9e9bfd2..37e5668ad 100644..100755
--- a/sd/source/ui/toolpanel/TaskPaneFocusManager.cxx
+++ b/sd/source/ui/toolpanel/TaskPaneFocusManager.cxx
@@ -31,9 +31,9 @@
#include "TaskPaneFocusManager.hxx"
#include <vcl/window.hxx>
-#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
#include <vcl/event.hxx>
+#include <rtl/instance.hxx>
#include <hash_map>
namespace {
@@ -70,16 +70,23 @@ class FocusManager::LinkMap
-FocusManager* FocusManager::spInstance = NULL;
-
-
FocusManager& FocusManager::Instance (void)
{
+ static FocusManager* spInstance = NULL;
+
if (spInstance == NULL)
{
- ::vos::OGuard aGuard (::Application::GetSolarMutex());
+ ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex());
if (spInstance == NULL)
- spInstance = new FocusManager ();
+ {
+ static FocusManager aInstance;
+ OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
+ spInstance = &aInstance;
+ }
+ }
+ else
+ {
+ OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
}
return *spInstance;
}
diff --git a/sd/source/ui/toolpanel/TaskPaneFocusManager.hxx b/sd/source/ui/toolpanel/TaskPaneFocusManager.hxx
index 3111b2fe1..acbe34763 100644..100755
--- a/sd/source/ui/toolpanel/TaskPaneFocusManager.hxx
+++ b/sd/source/ui/toolpanel/TaskPaneFocusManager.hxx
@@ -103,7 +103,6 @@ public:
bool TransferFocus (::Window* pSource, const KeyCode& rCode);
private:
- static FocusManager* spInstance;
class LinkMap;
::std::auto_ptr<LinkMap> mpLinks;
diff --git a/sd/source/ui/toolpanel/controls/CurrentMasterPagesSelector.cxx b/sd/source/ui/toolpanel/controls/CurrentMasterPagesSelector.cxx
index adbe18510..2e5d5cde2 100755
--- a/sd/source/ui/toolpanel/controls/CurrentMasterPagesSelector.cxx
+++ b/sd/source/ui/toolpanel/controls/CurrentMasterPagesSelector.cxx
@@ -227,7 +227,7 @@ void CurrentMasterPagesSelector::Execute (SfxRequest& rRequest)
// i.e. is not used.
SdPage* pMasterPage = GetSelectedMasterPage();
if (pMasterPage != NULL
- && mrDocument.GetMasterPageUserCount(pMasterPage) > 0)
+ && mrDocument.GetMasterPageUserCount(pMasterPage) == 0)
{
// Removing the precious flag so that the following call to
// RemoveUnnessesaryMasterPages() will remove this master page.
diff --git a/slideshow/source/engine/animationnodes/basenode.hxx b/slideshow/source/engine/animationnodes/basenode.hxx
index eb722d6fd..12d7e4789 100644
--- a/slideshow/source/engine/animationnodes/basenode.hxx
+++ b/slideshow/source/engine/animationnodes/basenode.hxx
@@ -89,7 +89,7 @@ class BaseContainerNode;
file-private accessor methods.
*/
class BaseNode : public AnimationNode,
- protected ::osl::DebugBase<BaseNode>,
+ public ::osl::DebugBase<BaseNode>,
private ::boost::noncopyable
{
public:
diff --git a/slideshow/source/engine/shapes/drawshape.hxx b/slideshow/source/engine/shapes/drawshape.hxx
index e6c5e6961..bccd54401 100644
--- a/slideshow/source/engine/shapes/drawshape.hxx
+++ b/slideshow/source/engine/shapes/drawshape.hxx
@@ -65,7 +65,7 @@ namespace slideshow
class DrawShape : public AttributableShape,
public DocTreeNodeSupplier,
public HyperlinkArea,
- protected ::osl::DebugBase<DrawShape>
+ public ::osl::DebugBase<DrawShape>
{
public:
/** Create a shape for the given XShape
diff --git a/slideshow/source/engine/shapes/gdimtftools.cxx b/slideshow/source/engine/shapes/gdimtftools.cxx
index 85b4bcf5d..a40b40600 100644
--- a/slideshow/source/engine/shapes/gdimtftools.cxx
+++ b/slideshow/source/engine/shapes/gdimtftools.cxx
@@ -491,9 +491,10 @@ bool getAnimationFromGraphic( VectorOfMtfAnimationFrames& o_rFrames,
nWaitTime100thSeconds = 100 * 60 * 60 * 24;
}
- // There are animated GIFs with no WaitTime set. Take 1 sec, then.
+ // There are animated GIFs with no WaitTime set. Take 0.1 sec, the
+ // same duration that is used by the edit view.
if( nWaitTime100thSeconds == 0 )
- nWaitTime100thSeconds = 100;
+ nWaitTime100thSeconds = 10;
o_rFrames.push_back( MtfAnimationFrame( pMtf,
nWaitTime100thSeconds / 100.0 ) );
diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx
index 56cfb2a70..f5bdf7c8b 100644
--- a/slideshow/source/engine/slide/slideimpl.cxx
+++ b/slideshow/source/engine/slide/slideimpl.cxx
@@ -94,7 +94,7 @@ namespace
class SlideImpl : public Slide,
public CursorManager,
public ViewEventHandler,
- protected ::osl::DebugBase<SlideImpl>
+ public ::osl::DebugBase<SlideImpl>
{
public:
SlideImpl( const uno::Reference<drawing::XDrawPage>& xDrawPage,
diff --git a/slideshow/source/engine/transitions/randomwipe.cxx b/slideshow/source/engine/transitions/randomwipe.cxx
index af0698d9e..66fd5bf30 100644
--- a/slideshow/source/engine/transitions/randomwipe.cxx
+++ b/slideshow/source/engine/transitions/randomwipe.cxx
@@ -68,13 +68,11 @@ RandomWipe::RandomWipe( sal_Int32 nElements, bool randomBars )
m_rect.transform( aTransform );
// mix up:
- for ( sal_Int32 i = (nElements / 2); i--; )
+ for (sal_Int32 nIndex=0; nIndex<nElements; ++nIndex)
{
- const sal_Int32 pos1 = getRandomOrdinal(nElements);
- const sal_Int32 pos2 = getRandomOrdinal(nElements);
- const ::basegfx::B2DPoint point( m_positions[ pos1 ] );
- m_positions[ pos1 ] = m_positions[ pos2 ];
- m_positions[ pos2 ] = point;
+ const sal_Int32 nOtherIndex (getRandomOrdinal(nElements));
+ OSL_ASSERT(nOtherIndex>=0 && nOtherIndex<nElements);
+ ::std::swap(m_positions[nIndex], m_positions[nOtherIndex]);
}
}