2002-06-26  Federico Mena Quintero  <federico@ximian.com>

	Fixes #86469.

	* shell/eog-window.c (eog_window_close_all): New function.
	(verb_FileExit_cb): Use eog_window_close_all(); this function was
	fantastically buggy.
	* shell/main.c (client_die_cb): Use eog_window_close_all().

2002-06-26  Yanko Kaneti <yaneti@declera.com>
This commit is contained in:
Federico Mena Quintero 2002-06-26 17:10:27 +00:00 committed by Federico Mena Quintero
parent b288423023
commit 930c496633
4 changed files with 34 additions and 25 deletions

View file

@ -1,3 +1,12 @@
2002-06-26 Federico Mena Quintero <federico@ximian.com>
Fixes #86469.
* shell/eog-window.c (eog_window_close_all): New function.
(verb_FileExit_cb): Use eog_window_close_all(); this function was
fantastically buggy.
* shell/main.c (client_die_cb): Use eog_window_close_all().
2002-06-26 Yanko Kaneti <yaneti@declera.com>
* configure.in: (ALL_LINGUAS) Added Bulgarian (bg).

View file

@ -202,18 +202,7 @@ verb_FileCloseWindow_cb (BonoboUIComponent *uic, gpointer user_data, const char
static void
verb_FileExit_cb (BonoboUIComponent *uic, gpointer user_data, const char *cname)
{
GList *l;
EogWindow *w;
/* Destroy windows and exit */
for (l = window_list; l != NULL; l = l->next) {
w = EOG_WINDOW (l->data);
gtk_widget_destroy (GTK_WIDGET (w));
}
g_list_free (window_list);
window_list = NULL;
bonobo_main_quit ();
eog_window_close_all ();
}
static void
@ -1080,8 +1069,6 @@ adapt_shell_size_to_control (EogWindow *window, Bonobo_Control control)
gint32 image_width, image_height;
int sw, sh;
Bonobo_Zoomable zi;
double zoom_x;
double zoom_y;
gboolean need_zoom;
int req_width, req_height;
int xthick, ythick;
@ -1363,3 +1350,24 @@ eog_window_get_uri (EogWindow *eog_window)
priv = eog_window->priv;
return priv->uri;
}
/**
* eog_window_close_all:
*
* Closes all EOG windows, causing the program to exit.
**/
void
eog_window_close_all (void)
{
while (1) {
GList *l;
EogWindow *window;
l = window_list;
if (!l)
break;
window = EOG_WINDOW (l->data);
eog_window_close (window);
}
}

View file

@ -73,6 +73,8 @@ Bonobo_PropertyControl eog_window_get_property_control (EogWindow *eog_window,
GList *eog_get_window_list (void);
void eog_window_close_all (void);
G_END_DECLS
#endif

View file

@ -428,17 +428,7 @@ client_save_yourself_cb (GnomeClient *client,
static void
client_die_cb (GnomeClient *client, gpointer data)
{
while (1) {
GList *l;
EogWindow *window;
l = eog_get_window_list ();
if (!l)
break;
window = EOG_WINDOW (l->data);
eog_window_close (window);
}
eog_window_close_all ();
}
int