rework the dialog_show so that the dialog is moved before it's shown, and

2004-09-29  Bastien Nocera  <hadess@hadess.net>

	* gnome-settings-multimedia-keys.c: (dialog_show): rework the
	dialog_show so that the dialog is moved before it's shown, and
	use gdk_display_sync() instead of a event looping to avoid
	"reentrancy" problems when showing/hiding the dialog in fast
	successions (Closes: #144490)
This commit is contained in:
Bastien Nocera 2004-09-29 20:52:53 +00:00 committed by Bastien Nocera
parent 3c2c6c3b26
commit 2a50d6456c
2 changed files with 11 additions and 5 deletions

View file

@ -1,3 +1,11 @@
2004-09-29 Bastien Nocera <hadess@hadess.net>
* gnome-settings-multimedia-keys.c: (dialog_show): rework the
dialog_show so that the dialog is moved before it's shown, and
use gdk_display_sync() instead of a event looping to avoid
"reentrancy" problems when showing/hiding the dialog in fast
successions (Closes: #144490)
2004-09-29 Bastien Nocera <hadess@hadess.net>
* actions/acme-volume-gstreamer.c: (acme_volume_gstreamer_init):

View file

@ -539,13 +539,11 @@ dialog_show (Acme *acme)
x = ((screen_w - orig_w) / 2) + geometry.x;
y = geometry.y + (screen_h / 2) + (screen_h / 2 - orig_h) / 2;
gtk_window_move (GTK_WINDOW (acme->dialog), x, y);
gtk_widget_show (acme->dialog);
gdk_window_move (GTK_WIDGET (acme->dialog)->window, x, y);
/* this makes sure the dialog is actually shown */
while (gtk_events_pending())
gtk_main_iteration();
gdk_display_sync (gdk_screen_get_display (acme->current_screen));
acme->dialog_timeout = gtk_timeout_add (DIALOG_TIMEOUT,
(GtkFunction) dialog_hide, acme);