unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: martin rudalics <rudalics@gmx.at>
Cc: 44180@debbugs.gnu.org
Subject: bug#44180: 28.0.50; Emacs frames won't redisplay unless resized
Date: Tue, 27 Oct 2020 11:11:26 -0700	[thread overview]
Message-ID: <87sg9z1qup.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <f9caf206-5eff-9373-e892-32d11eb39f86@gmx.at> (martin rudalics's message of "Tue, 27 Oct 2020 10:08:18 +0100")

[-- Attachment #1: Type: text/plain, Size: 1976 bytes --]


On 10/27/20 10:08 AM, martin rudalics wrote:
>>> Do you get the corresponding focus events (whatever they are now) when
>>> you make another frame the fullscreen one?  If so, we should probably
>>> redraw the frame in that case.
>>
>> I'm still not at the offending computer, but I think there's a high
>> likelihood of confusing myself with conflicting terminology here so,
>> just to be clear: this isn't proper fullscreening in the X11 sense.
>
> I didn't expect it to be but thanks for confirming.
>
>> i3
>> also does that, but I hardly ever use it since the stacked layout is
>> close enough to full screen. In X11 terms I think all that's happening
>> is switching of focus between windows, it's just that i3's layout means
>> that the unfocused windows are always completely obscured. For some
>> reason Emacs now thinks that a window being obscured means that it's now
>> an icon. Switching focus back to that window does not un-iconify it.
>
> Always keep in mind that Emacs has no idea about whether and how a
> window has been iconified or focused.  It just waits for the
> corresponding information from the window manager, believes what the
> latter tells and acts (redrawing a frame, for example) accordingly.

Okay, thanks.

I think I'm going to need more help here, though. I have built master
with optimizations off, I start GDB in a controlling emacs, set a
breakpoint at xdisp.c:34381 at the beginning of expose_frame, and then
"run -Q".

That pops up a new frame, and we hit the breakpoint. I run "bt" and have
attached the resulting backtrace. Something tells me you need more
information than this, though. I went up a frame, to handle_one_xevent,
where there are a bunch of local values I can print, but the values of
dpyinfo and event are enormous structures.

What variables exactly would you need to see?

Again, this is on misbehaving master. Once I know exactly what you need
I'll do the same for a build with the commit reverted.

Thanks,
Eric


[-- Attachment #2: master.txt --]
[-- Type: text/plain, Size: 3618 bytes --]

#0  expose_frame (f=0x555556313f00, x=1900, y=1030, w=16, h=34) at xdisp.c:34381
#1  0x00005555556f2711 in handle_one_xevent (dpyinfo=0x55555604c400, event=0x7fffffffcd90, finish=0x555555e1f6fc <current_finish>, hold_quit=0x7fffffffd0a0) at xterm.c:8243
#2  0x00005555556f13dd in event_handler_gdk (gxev=0x7fffffffcd90, ev=0x555555fe8ca0, data=0x0) at xterm.c:7768
#3  0x00007ffff75c654f in  () at /usr/lib/libgdk-3.so.0
#4  0x00007ffff75ca10b in  () at /usr/lib/libgdk-3.so.0
#5  0x00007ffff756e15b in gdk_display_get_event () at /usr/lib/libgdk-3.so.0
#6  0x00007ffff75c9e44 in  () at /usr/lib/libgdk-3.so.0
#7  0x00007ffff6f8d914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#8  0x00007ffff6fe17d1 in  () at /usr/lib/libglib-2.0.so.0
#9  0x00007ffff6f8c121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#10 0x00007ffff781d597 in gtk_main_iteration () at /usr/lib/libgtk-3.so.0
#11 0x00005555556f5491 in XTread_socket (terminal=0x555555f94dd8, hold_quit=0x7fffffffd0a0) at xterm.c:9395
#12 0x000055555574f92d in gobble_input () at keyboard.c:6890
#13 0x000055555574ff5b in handle_async_input () at keyboard.c:7127
#14 0x000055555574ff7a in process_pending_signals () at keyboard.c:7141
#15 0x000055555581e182 in maybe_quit () at eval.c:1549
#16 0x0000555555829f94 in list_length (list=XIL(0x555555f2dc63)) at fns.c:98
#17 0x000055555582a106 in Flength (sequence=XIL(0x555556832353)) at fns.c:126
#18 0x000055555582baf9 in concat (nargs=1, args=0x7fffffffd318, target_type=Lisp_Cons, last_special=false) at fns.c:666
#19 0x000055555582b8d6 in Fcopy_sequence (arg=XIL(0x555556832353)) at fns.c:598
#20 0x00005555557492b0 in timer_check () at keyboard.c:4398
#21 0x0000555555746f69 in readable_events (flags=1) at keyboard.c:3405
#22 0x000055555574f743 in get_input_pending (flags=1) at keyboard.c:6805
#23 0x00005555557591e4 in detect_input_pending_run_timers (do_display=true) at keyboard.c:10366
#24 0x0000555555891fa5 in wait_reading_process_output (time_limit=0, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5702
#25 0x0000555555747f1b in kbd_buffer_get_event (kbp=0x7fffffffd920, used_mouse_menu=0x7fffffffdf2d, end_time=0x0) at keyboard.c:3874
#26 0x0000555555742678 in read_event_from_main_queue (end_time=0x0, local_getcjmp=0x7fffffffdd30, used_mouse_menu=0x7fffffffdf2d) at keyboard.c:2160
#27 0x0000555555742a88 in read_decoded_event_from_main_queue (end_time=0x0, local_getcjmp=0x7fffffffdd30, prev_event=XIL(0), used_mouse_menu=0x7fffffffdf2d) at keyboard.c:2224
#28 0x0000555555744cd2 in read_char (commandflag=1, map=XIL(0x5555568323b3), prev_event=XIL(0), used_mouse_menu=0x7fffffffdf2d, end_time=0x0) at keyboard.c:2834
#29 0x0000555555757125 in read_key_sequence (keybuf=0x7fffffffe110, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9552
#30 0x000055555573fd76 in command_loop_1 () at keyboard.c:1354
#31 0x000055555581db25 in internal_condition_case (bfun=0x55555573f8dc <command_loop_1>, handlers=XIL(0x90), hfun=0x55555573eed0 <cmd_error>) at eval.c:1359
#32 0x000055555573f4c5 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1095
#33 0x000055555581cf79 in internal_catch (tag=XIL(0xd710), func=0x55555573f498 <command_loop_2>, arg=XIL(0)) at eval.c:1120
#34 0x000055555573f464 in command_loop () at keyboard.c:1074
#35 0x000055555573e9b9 in recursive_edit_1 () at keyboard.c:718
#36 0x000055555573ebb0 in Frecursive_edit () at keyboard.c:790
#37 0x000055555573a984 in main (argc=2, argv=0x7fffffffe598) at emacs.c:2047

  reply	other threads:[~2020-10-27 18:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-23 18:17 bug#44180: 28.0.50; Emacs frames won't redisplay unless resized Eric Abrahamsen
2020-10-23 18:25 ` Eli Zaretskii
2020-10-23 19:07   ` Eric Abrahamsen
2020-10-23 19:38     ` Eli Zaretskii
2020-10-23 21:07       ` Eric Abrahamsen
2020-10-24  6:55         ` martin rudalics
2020-10-24  8:36           ` Eli Zaretskii
2020-10-24 20:19           ` Eric Abrahamsen
2020-10-25 15:08             ` Eli Zaretskii
2020-10-25 16:01               ` Eric Abrahamsen
2020-10-25 16:16                 ` Eli Zaretskii
2020-10-25 16:28                   ` Eric Abrahamsen
2020-10-25 16:55                     ` Eli Zaretskii
2020-10-25 18:26                       ` Eric Abrahamsen
2020-10-26 18:24                 ` martin rudalics
2020-10-26 19:51                   ` Eric Abrahamsen
2020-10-27  9:08                     ` martin rudalics
2020-10-27 18:11                       ` Eric Abrahamsen [this message]
2020-10-27 18:45                         ` Eli Zaretskii
2020-10-27 19:48                           ` Eric Abrahamsen
2020-10-31  8:28                             ` Eli Zaretskii
2020-11-06  1:52                               ` Eric Abrahamsen
2022-04-24 14:08                                 ` Lars Ingebrigtsen
2022-04-24 15:26                                   ` Eric Abrahamsen
2022-04-24 15:27                                     ` Lars Ingebrigtsen
2020-10-25 16:26               ` Sascha Sadeghian
2020-10-25 16:57                 ` Eli Zaretskii
2020-10-24  8:03         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sg9z1qup.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=44180@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).