From f2f376765b91d071b38199df8b65d65c6e92372f Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Sat, 11 Mar 2006 04:42:49 +0000 Subject: [PATCH] fix map view startup traceback svn: r6135 --- gramps2/ChangeLog | 3 +++ gramps2/src/DataViews/_MapView.py | 29 ++++++++++++++++------------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 3ba544c60..099f28022 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,3 +1,6 @@ +2006-03-10 Don Allingham + * src/DataViews/_MapView.py: try to avoid startup traceback + 2006-03-10 Alex Roitman * src/Plugins.py, src/PluginMgr.py: Move to ReportUtils. * various: use ReportUtils instead of PluginMgr. diff --git a/gramps2/src/DataViews/_MapView.py b/gramps2/src/DataViews/_MapView.py index b4373cfd2..9b486ae9a 100644 --- a/gramps2/src/DataViews/_MapView.py +++ b/gramps2/src/DataViews/_MapView.py @@ -227,21 +227,24 @@ class ZoomMap( gtk.DrawingArea): px = min( px, self.map_pixbuf.get_width()-1-pw/2) py = min( py, self.map_pixbuf.get_height()-1-ph/2) - zoomebuf = self.map_pixbuf.subpixbuf( max(0,int(px-pw/2)),max(0,int(py-ph/2)), - min(self.map_pixbuf.get_width(),pw), - min(self.map_pixbuf.get_height(),ph)) - self.backbuf = zoomebuf.scale_simple(self.old_size[0], + try: + zoomebuf = self.map_pixbuf.subpixbuf( max(0,int(px-pw/2)),max(0,int(py-ph/2)), + min(self.map_pixbuf.get_width(),pw), + min(self.map_pixbuf.get_height(),ph)) + self.backbuf = zoomebuf.scale_simple(self.old_size[0], self.old_size[1], gtk.gdk.INTERP_BILINEAR) - gc.collect() - mx = 360.0 / self.map_pixbuf.get_width() * (px-pw/2.0) - 180.0 - my = 90.0 - 180.0 / self.map_pixbuf.get_height() * (py-ph/2.0) - mw = 360.0 / self.map_pixbuf.get_width() * pw - mh = 180.0 / self.map_pixbuf.get_height() * ph - self.current_area = (px-pw/2, py-ph/2, pw,ph) - self.current_map_area = (mx, my, mw, mh) - if self.guide: - self.guide.hightlight_area( (mx,my,mw,mh)) + gc.collect() + mx = 360.0 / self.map_pixbuf.get_width() * (px-pw/2.0) - 180.0 + my = 90.0 - 180.0 / self.map_pixbuf.get_height() * (py-ph/2.0) + mw = 360.0 / self.map_pixbuf.get_width() * pw + mh = 180.0 / self.map_pixbuf.get_height() * ph + self.current_area = (px-pw/2, py-ph/2, pw,ph) + self.current_map_area = (mx, my, mw, mh) + if self.guide: + self.guide.hightlight_area( (mx,my,mw,mh)) + except: + pass # Scroll to requested position def scroll_to( self, long, lat):