From 7b7f70fd9f7ff0d4901ea7f5ae6490eedb2710dd Mon Sep 17 00:00:00 2001 From: Patrick Storz Date: Sat, 15 Jun 2019 01:54:41 +0200 Subject: 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. --- src/ui/widget/page-sizer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/ui/widget/page-sizer.cpp') 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::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(); -- cgit v1.2.3