summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/pdfinput/pdf-input.cpp
diff options
context:
space:
mode:
authormiklosh <miklosh@users.sourceforge.net>2007-08-19 22:25:50 +0000
committermiklosh <miklosh@users.sourceforge.net>2007-08-19 22:25:50 +0000
commit1cca6f7356519e5cea48afc6336393d82d06b5cc (patch)
tree202dec11c78097c36de8a22162cb7ac72780779c /src/extension/internal/pdfinput/pdf-input.cpp
parentRemoved left-in debug stuff which caused frenzy (diff)
downloadinkscape-1cca6f7356519e5cea48afc6336393d82d06b5cc.tar.gz
inkscape-1cca6f7356519e5cea48afc6336393d82d06b5cc.zip
Added checks for pixbuf/pixmap allocation failure
(bzr r3540)
Diffstat (limited to 'src/extension/internal/pdfinput/pdf-input.cpp')
-rw-r--r--src/extension/internal/pdfinput/pdf-input.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
index 759a84017..7def9927d 100644
--- a/src/extension/internal/pdfinput/pdf-input.cpp
+++ b/src/extension/internal/pdfinput/pdf-input.cpp
@@ -405,13 +405,18 @@ bool PdfImportDialog::_onExposePreview(GdkEventExpose *event) {
#ifdef HAVE_POPPLER_CAIRO
Glib::RefPtr<Gdk::Pixbuf> thumb = Gdk::Pixbuf::create(Gdk::COLORSPACE_RGB, true,
8, _thumb_width, _thumb_height);
+ if (!thumb) {
+ return true;
+ }
// Set background to white
thumb->fill(0xffffffff);
Glib::RefPtr<Gdk::Pixmap> back_pixmap = Gdk::Pixmap::create(_previewArea->get_window(),
_thumb_width, _thumb_height, -1);
+ if (!back_pixmap) {
+ return true;
+ }
back_pixmap->draw_pixbuf(Glib::RefPtr<Gdk::GC>(), thumb, 0, 0, 0, 0,
- static_cast<int>(_thumb_width),
- static_cast<int>(_thumb_height),
+ _thumb_width, _thumb_height,
Gdk::RGB_DITHER_NONE, 0, 0);
_previewArea->get_window()->set_back_pixmap(back_pixmap, false);
_previewArea->get_window()->clear();