Avoid crash when desktop icons are forcibly closed

This commit is contained in:
Pierre Pronchery 2011-03-19 02:41:44 +00:00
parent 018a8123f9
commit ee5b0d381f
5 changed files with 55 additions and 61 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 08:07+0100\n"
"POT-Creation-Date: 2011-03-19 03:41+0100\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: English\n"
@ -101,7 +101,7 @@ msgstr "_Info"
msgid "_File"
msgstr "_Datei"
#: ../src/browser.c:156 ../src/desktopicon.c:691 ../src/view.c:109
#: ../src/browser.c:156 ../src/desktopicon.c:685 ../src/view.c:109
msgid "_Edit"
msgstr ""
@ -193,7 +193,7 @@ msgstr ""
msgid "Error"
msgstr "Fehler"
#: ../src/browser.c:763 ../src/desktopicon.c:826 ../src/view.c:144
#: ../src/browser.c:763 ../src/desktopicon.c:820 ../src/view.c:144
#: ../src/view.c:419
msgid "Open with..."
msgstr "Offnen mit..."
@ -296,8 +296,8 @@ msgid "New folder"
msgstr "Neu Ordner"
#: ../src/callbacks.c:196 ../src/callbacks.c:202 ../src/callbacks.c:1038
#: ../src/callbacks.c:1043 ../src/desktopicon.c:806 ../src/desktopicon.c:811
#: ../src/desktopicon.c:929 ../src/desktopicon.c:934
#: ../src/callbacks.c:1043 ../src/desktopicon.c:800 ../src/desktopicon.c:805
#: ../src/desktopicon.c:923 ../src/desktopicon.c:928
msgid "Warning"
msgstr "Achtung"
@ -334,12 +334,12 @@ msgstr "Offnen in neue Fenster"
msgid "_Unmount"
msgstr ""
#: ../src/callbacks.c:932 ../src/desktopicon.c:704 ../src/view.c:100
#: ../src/callbacks.c:932 ../src/desktopicon.c:698 ../src/view.c:100
#: ../src/view.c:111
msgid "Open _with..."
msgstr "Offnen _mit..."
#: ../src/callbacks.c:1042 ../src/desktopicon.c:810
#: ../src/callbacks.c:1042 ../src/desktopicon.c:804
msgid "Are you sure you want to execute this file?"
msgstr ""
@ -512,27 +512,27 @@ msgid ""
" -m\tMonitor where to display the desktop\n"
msgstr ""
#: ../src/desktopicon.c:662 ../src/desktopicon.c:713
#: ../src/desktopicon.c:656 ../src/desktopicon.c:707
msgid "_Rename..."
msgstr ""
#: ../src/desktopicon.c:859 ../src/desktopicon.c:860
#: ../src/desktopicon.c:853 ../src/desktopicon.c:854
msgid "Rename"
msgstr ""
#: ../src/desktopicon.c:869
#: ../src/desktopicon.c:863
msgid "Rename: "
msgstr ""
#: ../src/desktopicon.c:880
#: ../src/desktopicon.c:874
msgid "To: "
msgstr ""
#: ../src/desktopicon.c:932
#: ../src/desktopicon.c:926
msgid "Are you sure you want to delete "
msgstr ""
#: ../src/desktopicon.c:933
#: ../src/desktopicon.c:927
msgid " file(s)?"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 08:07+0100\n"
"POT-Creation-Date: 2011-03-19 03:41+0100\n"
"PO-Revision-Date: 2010-03-30 01:04+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Spanish\n"
@ -101,7 +101,7 @@ msgstr ""
msgid "_File"
msgstr ""
#: ../src/browser.c:156 ../src/desktopicon.c:691 ../src/view.c:109
#: ../src/browser.c:156 ../src/desktopicon.c:685 ../src/view.c:109
msgid "_Edit"
msgstr ""
@ -193,7 +193,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../src/browser.c:763 ../src/desktopicon.c:826 ../src/view.c:144
#: ../src/browser.c:763 ../src/desktopicon.c:820 ../src/view.c:144
#: ../src/view.c:419
msgid "Open with..."
msgstr ""
@ -296,8 +296,8 @@ msgid "New folder"
msgstr ""
#: ../src/callbacks.c:196 ../src/callbacks.c:202 ../src/callbacks.c:1038
#: ../src/callbacks.c:1043 ../src/desktopicon.c:806 ../src/desktopicon.c:811
#: ../src/desktopicon.c:929 ../src/desktopicon.c:934
#: ../src/callbacks.c:1043 ../src/desktopicon.c:800 ../src/desktopicon.c:805
#: ../src/desktopicon.c:923 ../src/desktopicon.c:928
msgid "Warning"
msgstr ""
@ -334,12 +334,12 @@ msgstr ""
msgid "_Unmount"
msgstr ""
#: ../src/callbacks.c:932 ../src/desktopicon.c:704 ../src/view.c:100
#: ../src/callbacks.c:932 ../src/desktopicon.c:698 ../src/view.c:100
#: ../src/view.c:111
msgid "Open _with..."
msgstr ""
#: ../src/callbacks.c:1042 ../src/desktopicon.c:810
#: ../src/callbacks.c:1042 ../src/desktopicon.c:804
msgid "Are you sure you want to execute this file?"
msgstr ""
@ -512,27 +512,27 @@ msgid ""
" -m\tMonitor where to display the desktop\n"
msgstr ""
#: ../src/desktopicon.c:662 ../src/desktopicon.c:713
#: ../src/desktopicon.c:656 ../src/desktopicon.c:707
msgid "_Rename..."
msgstr ""
#: ../src/desktopicon.c:859 ../src/desktopicon.c:860
#: ../src/desktopicon.c:853 ../src/desktopicon.c:854
msgid "Rename"
msgstr ""
#: ../src/desktopicon.c:869
#: ../src/desktopicon.c:863
msgid "Rename: "
msgstr ""
#: ../src/desktopicon.c:880
#: ../src/desktopicon.c:874
msgid "To: "
msgstr ""
#: ../src/desktopicon.c:932
#: ../src/desktopicon.c:926
msgid "Are you sure you want to delete "
msgstr ""
#: ../src/desktopicon.c:933
#: ../src/desktopicon.c:927
msgid " file(s)?"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 08:07+0100\n"
"POT-Creation-Date: 2011-03-19 03:41+0100\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: French\n"
@ -101,7 +101,7 @@ msgstr "À _propos"
msgid "_File"
msgstr "_Fichier"
#: ../src/browser.c:156 ../src/desktopicon.c:691 ../src/view.c:109
#: ../src/browser.c:156 ../src/desktopicon.c:685 ../src/view.c:109
msgid "_Edit"
msgstr "É_dition"
@ -193,7 +193,7 @@ msgstr " Chemin: "
msgid "Error"
msgstr "Erreur"
#: ../src/browser.c:763 ../src/desktopicon.c:826 ../src/view.c:144
#: ../src/browser.c:763 ../src/desktopicon.c:820 ../src/view.c:144
#: ../src/view.c:419
msgid "Open with..."
msgstr "Ouvrir avec..."
@ -296,8 +296,8 @@ msgid "New folder"
msgstr "Nouveau dossier"
#: ../src/callbacks.c:196 ../src/callbacks.c:202 ../src/callbacks.c:1038
#: ../src/callbacks.c:1043 ../src/desktopicon.c:806 ../src/desktopicon.c:811
#: ../src/desktopicon.c:929 ../src/desktopicon.c:934
#: ../src/callbacks.c:1043 ../src/desktopicon.c:800 ../src/desktopicon.c:805
#: ../src/desktopicon.c:923 ../src/desktopicon.c:928
msgid "Warning"
msgstr "Avertissement"
@ -334,12 +334,12 @@ msgstr "Ouvrir dans une _nouvelle fenêtre"
msgid "_Unmount"
msgstr "Démonter"
#: ../src/callbacks.c:932 ../src/desktopicon.c:704 ../src/view.c:100
#: ../src/callbacks.c:932 ../src/desktopicon.c:698 ../src/view.c:100
#: ../src/view.c:111
msgid "Open _with..."
msgstr "Ouvrir _avec..."
#: ../src/callbacks.c:1042 ../src/desktopicon.c:810
#: ../src/callbacks.c:1042 ../src/desktopicon.c:804
msgid "Are you sure you want to execute this file?"
msgstr "Voulez-vous vraiment exécuter ce fichier ?"
@ -540,27 +540,27 @@ msgstr ""
" -h\tAfficher l'écran d'accueil\n"
" -m\tMoniteur où afficher le bureau\n"
#: ../src/desktopicon.c:662 ../src/desktopicon.c:713
#: ../src/desktopicon.c:656 ../src/desktopicon.c:707
msgid "_Rename..."
msgstr "_Renommer..."
#: ../src/desktopicon.c:859 ../src/desktopicon.c:860
#: ../src/desktopicon.c:853 ../src/desktopicon.c:854
msgid "Rename"
msgstr "Renommer"
#: ../src/desktopicon.c:869
#: ../src/desktopicon.c:863
msgid "Rename: "
msgstr "Renommer : "
#: ../src/desktopicon.c:880
#: ../src/desktopicon.c:874
msgid "To: "
msgstr "Vers : "
#: ../src/desktopicon.c:932
#: ../src/desktopicon.c:926
msgid "Are you sure you want to delete "
msgstr "Voulez-vous vraiment effacer "
#: ../src/desktopicon.c:933
#: ../src/desktopicon.c:927
msgid " file(s)?"
msgstr " fichier(s) ?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 08:07+0100\n"
"POT-Creation-Date: 2011-03-19 03:41+0100\n"
"PO-Revision-Date: 2010-04-07 23:18+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Italian\n"
@ -101,7 +101,7 @@ msgstr ""
msgid "_File"
msgstr ""
#: ../src/browser.c:156 ../src/desktopicon.c:691 ../src/view.c:109
#: ../src/browser.c:156 ../src/desktopicon.c:685 ../src/view.c:109
msgid "_Edit"
msgstr ""
@ -193,7 +193,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../src/browser.c:763 ../src/desktopicon.c:826 ../src/view.c:144
#: ../src/browser.c:763 ../src/desktopicon.c:820 ../src/view.c:144
#: ../src/view.c:419
msgid "Open with..."
msgstr ""
@ -296,8 +296,8 @@ msgid "New folder"
msgstr ""
#: ../src/callbacks.c:196 ../src/callbacks.c:202 ../src/callbacks.c:1038
#: ../src/callbacks.c:1043 ../src/desktopicon.c:806 ../src/desktopicon.c:811
#: ../src/desktopicon.c:929 ../src/desktopicon.c:934
#: ../src/callbacks.c:1043 ../src/desktopicon.c:800 ../src/desktopicon.c:805
#: ../src/desktopicon.c:923 ../src/desktopicon.c:928
msgid "Warning"
msgstr ""
@ -334,12 +334,12 @@ msgstr ""
msgid "_Unmount"
msgstr ""
#: ../src/callbacks.c:932 ../src/desktopicon.c:704 ../src/view.c:100
#: ../src/callbacks.c:932 ../src/desktopicon.c:698 ../src/view.c:100
#: ../src/view.c:111
msgid "Open _with..."
msgstr ""
#: ../src/callbacks.c:1042 ../src/desktopicon.c:810
#: ../src/callbacks.c:1042 ../src/desktopicon.c:804
msgid "Are you sure you want to execute this file?"
msgstr ""
@ -512,27 +512,27 @@ msgid ""
" -m\tMonitor where to display the desktop\n"
msgstr ""
#: ../src/desktopicon.c:662 ../src/desktopicon.c:713
#: ../src/desktopicon.c:656 ../src/desktopicon.c:707
msgid "_Rename..."
msgstr ""
#: ../src/desktopicon.c:859 ../src/desktopicon.c:860
#: ../src/desktopicon.c:853 ../src/desktopicon.c:854
msgid "Rename"
msgstr ""
#: ../src/desktopicon.c:869
#: ../src/desktopicon.c:863
msgid "Rename: "
msgstr ""
#: ../src/desktopicon.c:880
#: ../src/desktopicon.c:874
msgid "To: "
msgstr ""
#: ../src/desktopicon.c:932
#: ../src/desktopicon.c:926
msgid "Are you sure you want to delete "
msgstr ""
#: ../src/desktopicon.c:933
#: ../src/desktopicon.c:927
msgid " file(s)?"
msgstr ""

View File

@ -84,8 +84,7 @@ static int _desktopicon_set_name(DesktopIcon * desktopicon, char const * name);
static void _desktopicon_update_transparency(DesktopIcon * desktopicon);
/* callbacks */
static gboolean _on_desktopicon_closex(GtkWidget * widget, GdkEvent * event,
gpointer data);
static gboolean _on_desktopicon_closex(void);
static gboolean _on_icon_button_press(GtkWidget * widget,
GdkEventButton * event, gpointer data);
static gboolean _on_icon_key_press(GtkWidget * widget, GdkEventKey * event,
@ -446,7 +445,7 @@ static DesktopIcon * _desktopicon_new_do(Desktop * desktop, GdkPixbuf * image,
gtk_window_set_focus_on_map(window, FALSE);
#endif
g_signal_connect(G_OBJECT(desktopicon->window), "delete-event",
G_CALLBACK(_on_desktopicon_closex), desktopicon);
G_CALLBACK(_on_desktopicon_closex), NULL);
/* event */
desktopicon->event = gtk_event_box_new();
gtk_drag_source_set(desktopicon->event, GDK_BUTTON1_MASK, targets,
@ -570,13 +569,8 @@ static void _desktopicon_update_transparency(DesktopIcon * desktopicon)
/* callbacks */
static gboolean _on_desktopicon_closex(GtkWidget * widget, GdkEvent * event,
gpointer data)
static gboolean _on_desktopicon_closex(void)
{
DesktopIcon * di = data;
gtk_widget_hide(widget);
desktopicon_delete(di);
return TRUE;
}