#! /bin/sh /usr/share/dpatch/dpatch-run ## 10_fix_export_crash_FlickrRemote.cs.dpatch by > ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: No description. @DPATCH@ diff -urNad f-spot-0.5.0.3~/extensions/Exporters/FlickrExport/FlickrRemote.cs f-spot-0.5.0.3/extensions/Exporters/FlickrExport/FlickrRemote.cs --- f-spot-0.5.0.3~/extensions/Exporters/FlickrExport/FlickrRemote.cs 2008-09-26 16:27:39.000000000 +0800 +++ f-spot-0.5.0.3/extensions/Exporters/FlickrExport/FlickrRemote.cs 2009-02-25 20:19:39.901273356 +0800 @@ -17,6 +17,7 @@ using FSpot; using FSpot.Utils; using FSpot.Filters; +using FSpot.UI.Dialog; public class FlickrRemote { public static Licenses licenses; @@ -103,6 +104,7 @@ public Auth CheckLogin () { + try { if (frob == null) { frob = flickr.AuthGetFrob (); if (frob == null) { @@ -110,6 +112,13 @@ return null; } } + } catch (Exception e) { + Console.WriteLine("{0} Exception caught.",e); + HigMessageDialog md = new HigMessageDialog (null,Gtk.DialogFlags.Modal |Gtk.DialogFlags.DestroyWithParent,Gtk.MessageType.Error, Gtk.ButtonsType.Ok,Mono.Unix.Catalog.GetString("Error reading server response"),String.Format( Mono.Unix.Catalog.GetString("The following error was encountered while attempting to log in: {0}"), e.Message)); + md.Run(); + md.Destroy(); + return null; + } if (token == null) { try { @@ -194,10 +203,17 @@ } public void TryWebLogin () { + try { frob = flickr.AuthGetFrob (); string login_url = flickr.AuthCalcUrl (frob, FlickrNet.AuthLevel.Write); GnomeUtil.UrlShow (login_url); + } catch (Exception e) { + Console.WriteLine("{0} Exception caught.",e); + HigMessageDialog md = new HigMessageDialog (null,Gtk.DialogFlags.Modal |Gtk.DialogFlags.DestroyWithParent,Gtk.MessageType.Error, Gtk.ButtonsType.Ok,Mono.Unix.Catalog.GetString ("Error reading server response"),String.Format (Mono.Unix.Catalog.GetString("The following error was encountered while attempting to log in: {0}"), e.Message)); + md.Run(); + md.Destroy(); + } } public class Service {