summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/page-sizer.cpp
diff options
context:
space:
mode:
authorPatrick Storz <eduard.braun2@gmx.de>2019-06-14 23:54:41 +0000
committerPatrick Storz <eduard.braun2@gmx.de>2019-06-14 23:54:41 +0000
commit7b7f70fd9f7ff0d4901ea7f5ae6490eedb2710dd (patch)
tree3e0b85cd3d25a69fd093aa492363cf5f1d85513b /src/ui/widget/page-sizer.cpp
parentFix crash after deleting a grouped connection (diff)
downloadinkscape-7b7f70fd9f7ff0d4901ea7f5ae6490eedb2710dd.tar.gz
inkscape-7b7f70fd9f7ff0d4901ea7f5ae6490eedb2710dd.zip
PageSizer: Do not require portrait page sizes
Lift needless expectation that all pages are defined as portrait. Fixes assertion errors that were triggered for the landscape paper formats in the list and prevented proper page size lookup.
Diffstat (limited to 'src/ui/widget/page-sizer.cpp')
-rw-r--r--src/ui/widget/page-sizer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ui/widget/page-sizer.cpp b/src/ui/widget/page-sizer.cpp
index 5a7a2edb2..64315402c 100644
--- a/src/ui/widget/page-sizer.cpp
+++ b/src/ui/widget/page-sizer.cpp
@@ -429,8 +429,6 @@ PageSizer::find_paper_size (Inkscape::Util::Quantity w, Inkscape::Util::Quantity
std::swap(h,w);
}
- g_return_val_if_fail(w <= h, _paperSizeListStore->children().end());
-
std::map<Glib::ustring, PaperSize>::const_iterator iter;
for (iter = _paperSizeTable.begin() ;
iter != _paperSizeTable.end() ; ++iter) {
@@ -438,7 +436,10 @@ PageSizer::find_paper_size (Inkscape::Util::Quantity w, Inkscape::Util::Quantity
Inkscape::Util::Quantity smallX (paper.smaller, paper.unit);
Inkscape::Util::Quantity largeX (paper.larger, paper.unit);
- g_return_val_if_fail(smallX.quantity < largeX.quantity + 0.001, _paperSizeListStore->children().end());
+ // account for landscape formats (e.g. business cards)
+ if (largeX < smallX) {
+ std::swap(largeX, smallX);
+ }
if ( are_near(w, smallX, 0.1) && are_near(h, largeX, 0.1) ) {
Gtk::ListStore::iterator p = _paperSizeListStore->children().begin();