[Goodies-dev] [PATCH] -screenshooter-plugin bugfixes
Emanuele Rocca
ema at debian.org
Tue Jun 5 17:41:23 CEST 2007
Hello,
xfce4-screenshooter-plugin is affected by a couple of problems for what
concerns selecting screenshot files location.
1) The code that generates the suggested filename (Screenshot-1,
Screenshot-2...) doesn't work properly.
2) Screenshots are created even if user chooses not to do so:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=420242
Please consider applying the following patches.
Thanks.
ciao,
ema
--- panel-plugin/screenshooter.c.old 2007-06-03 23:16:08.000000000 +0200
+++ panel-plugin/screenshooter.c 2007-06-04 00:14:53.000000000 +0200
@@ -199,7 +199,7 @@
if(uri == NULL)
return NULL;
file_name = g_strdup ("Screenshot.png");
- if((test=open(file_name,O_RDWR,MODE))==-1)
+ if((test=open(g_build_filename(uri, file_name, NULL),O_RDWR,MODE))==-1)
{
return file_name;
}
@@ -208,7 +208,7 @@
g_free (file_name);
file_name = g_strdup_printf ("Screenshot-%d.png",i);
}
- while((test=open(file_name,O_RDWR,MODE))!=-1);
+ while((test=open(g_build_filename(uri, file_name, NULL),O_RDWR,MODE))!=-1);
return file_name;
--- panel-plugin/screenshooter.c.old 2007-06-03 23:16:08.000000000 +0200
+++ panel-plugin/screenshooter.c 2007-06-04 00:14:53.000000000 +0200
@@ -227,6 +227,7 @@
gint width;
gint height;
+ gint dialog_response;
gchar * filename = NULL;
gchar * basename = NULL;
@@ -266,12 +267,14 @@
gtk_image_set_from_pixbuf (GTK_IMAGE (sd->preview), thumbnail);
g_object_unref (thumbnail);
- filename = generate_filename_for_uri (xfce_file_chooser_get_current_folder(XFCE_FILE_CHOOSER (sd->chooser)));
+ filename = generate_filename_for_uri (xfce_file_chooser_get_current_folder(XFCE_FILE_CHOOSER (sd->chooser)));
if (sd->ask_for_file && filename)
{
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (sd->chooser), filename);
- if (gtk_dialog_run (GTK_DIALOG (sd->chooser)) == GTK_RESPONSE_ACCEPT)
+
+ dialog_response = gtk_dialog_run (GTK_DIALOG (sd->chooser));
+ if (dialog_response == GTK_RESPONSE_ACCEPT)
{
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(sd->chooser));
}
@@ -289,7 +292,8 @@
}
if (filename) {
- gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
+ if (!(sd->ask_for_file) || dialog_response == GTK_RESPONSE_ACCEPT)
+ gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
g_free (filename);
}
}
More information about the Goodies-dev
mailing list