From: Jan Djärv Date: Sun, 19 Oct 2014 17:07:54 +0000 (+0200) Subject: * src/xterm.c (handle_one_xevent): Check return value from X-Git-Tag: emacs-25.0.90~2635^2~679^2~12 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5e3344686af38ea1c4f0556c73f5e0f0279f2ae3;p=emacs.git * src/xterm.c (handle_one_xevent): Check return value from x_handle_net_wm_state, remove net_wm_state_hidden_seen. (get_current_wm_state): Remove net_wm_state_hidden_seen setting. * src/xterm.h (x_output): Remove net_wm_state_hidden_seen. Fixes: debbugs:18722 --- diff --git a/src/ChangeLog b/src/ChangeLog index de37d52bf79..02d7ef0d3a4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,11 @@ 2014-10-19 Jan Djärv + * xterm.h (x_output): Remove net_wm_state_hidden_seen. + + * xterm.c (handle_one_xevent): Check return value from + x_handle_net_wm_state, remove net_wm_state_hidden_seen (Bug#18722). + (get_current_wm_state): Remove net_wm_state_hidden_seen setting. + * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674). (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on diff --git a/src/xterm.c b/src/xterm.c index a1e338b54ee..53eb7b3625d 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -6850,9 +6850,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, f = x_top_window_to_frame (dpyinfo, event->xproperty.window); if (f && event->xproperty.atom == dpyinfo->Xatom_net_wm_state) { - if (x_handle_net_wm_state (f, &event->xproperty) - && FRAME_ICONIFIED_P (f) - && f->output_data.x->net_wm_state_hidden_seen) + int not_hidden = x_handle_net_wm_state (f, &event->xproperty); + if (not_hidden && FRAME_ICONIFIED_P (f)) { /* Gnome shell does not iconify us when C-z is pressed. It hides the frame. So if our state says we aren't @@ -6860,12 +6859,10 @@ handle_one_xevent (struct x_display_info *dpyinfo, SET_FRAME_VISIBLE (f, 1); SET_FRAME_ICONIFIED (f, 0); f->output_data.x->has_been_visible = 1; - f->output_data.x->net_wm_state_hidden_seen = 0; inev.ie.kind = DEICONIFY_EVENT; XSETFRAME (inev.ie.frame_or_window, f); } - else if (! FRAME_ICONIFIED_P (f) - && f->output_data.x->net_wm_state_hidden_seen) + else if (! not_hidden && ! FRAME_ICONIFIED_P (f)) { SET_FRAME_VISIBLE (f, 0); SET_FRAME_ICONIFIED (f, 1); @@ -9165,7 +9162,6 @@ get_current_wm_state (struct frame *f, if (a == dpyinfo->Xatom_net_wm_state_hidden) { is_hidden = 1; - f->output_data.x->net_wm_state_hidden_seen = 1; } else if (a == dpyinfo->Xatom_net_wm_state_maximized_horz) { diff --git a/src/xterm.h b/src/xterm.h index 0842195f330..23dd43678d6 100644 --- a/src/xterm.h +++ b/src/xterm.h @@ -609,9 +609,6 @@ struct x_output false, tell Xt not to wait. */ bool_bf wait_for_wm : 1; - /* True if _NET_WM_STATE_HIDDEN is set for this frame. */ - bool_bf net_wm_state_hidden_seen : 1; - #ifdef HAVE_X_I18N /* Input context (currently, this means Compose key handler setup). */ XIC xic;