Could you check whether the attached patch fixes this crash for you?

    Thanks,
  Daniel
diff -r d7b9be7d79c7 src/gtk/resolver.cc
--- a/src/gtk/resolver.cc	Mon Apr 27 07:04:56 2009 -0700
+++ b/src/gtk/resolver.cc	Mon Apr 27 18:37:08 2009 -0700
@@ -1541,13 +1541,20 @@
 		    }
 		    break;
 		  case action_keep:
-		    {
-		      const char * const
-			tmpl(first ? _("<b>Keep</b> %s at version %s") : _("<b>keep</b> %s at version %s"));
-		      list_text += ssprintf(tmpl,
-					    Glib::Markup::escape_text(ver.get_pkg().Name()).c_str(),
-					    Glib::Markup::escape_text(ver.get_ver().VerStr()).c_str());
-		    }
+		    if(!ver.get_ver().end())
+		      {
+			const char * const
+			  tmpl(first ? _("<b>Keep</b> %s at version %s") : _("<b>keep</b> %s at version %s"));
+			list_text += ssprintf(tmpl,
+					      Glib::Markup::escape_text(ver.get_pkg().Name()).c_str(),
+					      Glib::Markup::escape_text(ver.get_ver().VerStr()).c_str());
+		      }
+		    else
+		      {
+			const char * const
+			  tmpl(first ? _("<b>Cancel</b> the installation of %s") : _("<b>cancel</b> the installation of %s"));
+			list_text += ssprintf(tmpl, Glib::Markup::escape_text(ver.get_pkg().Name()).c_str());
+		      }
 		    break;
 		  case action_install:
 		    {

Reply via email to