diff options
| author | miklosh <miklosh@users.sourceforge.net> | 2007-08-19 22:25:50 +0000 |
|---|---|---|
| committer | miklosh <miklosh@users.sourceforge.net> | 2007-08-19 22:25:50 +0000 |
| commit | 1cca6f7356519e5cea48afc6336393d82d06b5cc (patch) | |
| tree | 202dec11c78097c36de8a22162cb7ac72780779c /src/extension/internal/pdfinput/pdf-input.cpp | |
| parent | Removed left-in debug stuff which caused frenzy (diff) | |
| download | inkscape-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.cpp | 9 |
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(); |
