summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorThorsten Behrens <thb@documentfoundation.org>2013-11-28 15:27:30 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-12-02 11:21:44 +0000
commit0f080297e9c176f221e20c422ba77080eee8e21c (patch)
tree0b420b04c22157a81ebf8ce632895aab1a5a151a /sd
parentaac1da796aa1fc1a01a0cd8a6fac7d668a8c259e (diff)
Resolves: fdo#71527 make presenter console not crash/useless
Basically reverts the pieces of 21ec9beae29b19b8ec6f0a16fd0e708e4f210208 to make XSpriteCanvas a XBitmapCanvas again Otherwise PresenterHelper::loadBitmap is not an XBitmapCanvas and so VclFactory::createBitmap cannot succeed (cherry picked from commit 639aa8e72639fd01e9004977f1cfaafc13b1e45f) Revert "Resolves: fdo#71527 make presenter console not crash/useless" This reverts commit 639aa8e72639fd01e9004977f1cfaafc13b1e45f. (cherry picked from commit 72aa51185fb7b1ff2ad9006f2067a680b70ab66d) Revert "Resolves: fdo#71527 don't crash in presenter console" This reverts commit bae01385c895a100b5371879889e606927cff877. (cherry picked from commit b807b2d9291a2328a55de55d67c4874803d8b7fd) Fix fdo#71527 no unguarded ptr dereference here. This is the real problem - mxPane can be validly NULL. (cherry picked from commit 1b10205c2cb952ab43e30706c05f78d6e8f642c3) Further XCanvas != XBitmapCanvas cleanup. It seems I missed a few places in 21ec9beae29b19b8ec6f0a16fd0e708e4f210208, getting that straight now hopefully. (cherry picked from commit 05d2994c136650deca2d80fedf6b14d10109986e) 0ac1a7ada530791e2d34d2f0802213c869ea48a1 d149bae0904fd6c2120209d69490d0b257ac3f64 e8d055db9bfb68cb9031fa970518343f5aec6619 34fc8df2d1ee65bef0639b3de9487ff311bed89a Change-Id: I197adf98e915102f383ee050a8ea16d1e41cecf2
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/presenter/PresenterHelper.cxx2
-rw-r--r--sd/source/ui/presenter/PresenterPreviewCache.cxx6
-rw-r--r--sd/source/ui/presenter/PresenterTextView.cxx2
-rw-r--r--sd/source/ui/presenter/SlideRenderer.cxx14
4 files changed, 8 insertions, 16 deletions
diff --git a/sd/source/ui/presenter/PresenterHelper.cxx b/sd/source/ui/presenter/PresenterHelper.cxx
index eb5b18520a75..52cce1468653 100644
--- a/sd/source/ui/presenter/PresenterHelper.cxx
+++ b/sd/source/ui/presenter/PresenterHelper.cxx
@@ -452,7 +452,7 @@ Reference<rendering::XBitmap> SAL_CALL PresenterHelper::loadBitmap (
const cppcanvas::CanvasSharedPtr pCanvas (
cppcanvas::VCLFactory::getInstance().createCanvas(
- Reference<css::rendering::XBitmapCanvas>(rxCanvas,UNO_QUERY)));
+ Reference<css::rendering::XCanvas>(rxCanvas,UNO_QUERY)));
if (pCanvas.get() != NULL)
{
diff --git a/sd/source/ui/presenter/PresenterPreviewCache.cxx b/sd/source/ui/presenter/PresenterPreviewCache.cxx
index 48101513c30e..162ca5539a38 100644
--- a/sd/source/ui/presenter/PresenterPreviewCache.cxx
+++ b/sd/source/ui/presenter/PresenterPreviewCache.cxx
@@ -25,7 +25,6 @@
#include "sdpage.hxx"
#include <cppcanvas/vclfactory.hxx>
#include <com/sun/star/drawing/XDrawPage.hpp>
-#include <com/sun/star/rendering/XBitmapCanvas.hpp>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -189,9 +188,8 @@ Reference<rendering::XBitmap> SAL_CALL PresenterPreviewCache::getSlidePreview (
ThrowIfDisposed();
OSL_ASSERT(mpCacheContext.get()!=NULL);
- cppcanvas::BitmapCanvasSharedPtr pCanvas (
- cppcanvas::VCLFactory::getInstance().createCanvas(
- Reference<rendering::XBitmapCanvas>(rxCanvas, UNO_QUERY)));
+ cppcanvas::CanvasSharedPtr pCanvas (
+ cppcanvas::VCLFactory::getInstance().createCanvas(rxCanvas));
const SdrPage* pPage = mpCacheContext->GetPage(nSlideIndex);
if (pPage == NULL)
diff --git a/sd/source/ui/presenter/PresenterTextView.cxx b/sd/source/ui/presenter/PresenterTextView.cxx
index 9498212b90a5..c26d5aab2de9 100644
--- a/sd/source/ui/presenter/PresenterTextView.cxx
+++ b/sd/source/ui/presenter/PresenterTextView.cxx
@@ -167,7 +167,7 @@ void SAL_CALL PresenterTextView::initialize (const Sequence<Any>& rArguments)
{
try
{
- Reference<rendering::XBitmapCanvas> xCanvas (rArguments[0], UNO_QUERY_THROW);
+ Reference<rendering::XCanvas> xCanvas (rArguments[0], UNO_QUERY_THROW);
if (xCanvas.is())
{
mpImplementation->SetCanvas(
diff --git a/sd/source/ui/presenter/SlideRenderer.cxx b/sd/source/ui/presenter/SlideRenderer.cxx
index 98db0b119a02..bb3e3f528c63 100644
--- a/sd/source/ui/presenter/SlideRenderer.cxx
+++ b/sd/source/ui/presenter/SlideRenderer.cxx
@@ -131,18 +131,12 @@ Reference<rendering::XBitmap> SlideRenderer::createPreviewForCanvas (
ThrowIfDisposed();
SolarMutexGuard aGuard;
- cppcanvas::BitmapCanvasSharedPtr pCanvas (cppcanvas::VCLFactory::getInstance().createCanvas(
- Reference<rendering::XBitmapCanvas>(rxCanvas, UNO_QUERY)));
+ cppcanvas::CanvasSharedPtr pCanvas (
+ cppcanvas::VCLFactory::getInstance().createCanvas(rxCanvas));
if (pCanvas.get() != NULL)
- {
- cppcanvas::BitmapSharedPtr xBitmap(
- cppcanvas::VCLFactory::getInstance().createBitmap(
+ return cppcanvas::VCLFactory::getInstance().createBitmap(
pCanvas,
- CreatePreview(rxSlide, rMaximalSize, nSuperSampleFactor)));
- if (xBitmap.get() == NULL)
- return NULL;
- return xBitmap->getUNOBitmap();
- }
+ CreatePreview(rxSlide, rMaximalSize, nSuperSampleFactor))->getUNOBitmap();
else
return NULL;
}