bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19660: Acknowledgement (24.4.51; Crash in draw_row_fringe_bitmaps)


From: Kim Storm
Subject: bug#19660: Acknowledgement (24.4.51; Crash in draw_row_fringe_bitmaps)
Date: Mon, 26 Jan 2015 12:10:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 2015-01-25 16:46, Eli Zaretskii wrote:
From: "Jan D." <address@hidden>
Date: Sun, 25 Jan 2015 10:17:20 +0100

Fixed, but it would be nice to know why this function needs input blocked.
This was there since day one, according to the history.  Unless Kim,
who wrote it (CC'ed), can recollect why he put the assertion there,
I'm afraid the reason is lost in time.  My wild guess would be that
the reason is this function calls X APIs to actually draw stuff, and
many of those block input.  Perhaps Kim wasn't sure whether input
should be blocked here.

If no other information emerges, my suggestion would be to remove the
assertion on master, and see if we get any bug reports.

Thanks.

Hi Eli

Well, the comment above the function says that it must be called
with input blocked, so the assert simply reflects that requirement.

Usually, draw_row_fringe_bitmaps is called from draw_window_fringes
which is guarded by block_input in all places.

However, the call to draw_row_fringe_bitmaps in xdisp.c:expose_line
is not explicitly guarded, but it is called from expose_window, which
has comment: Call this function with input blocked.

Looking at the code, this seems not to be true anymore, and so
it triggers the assert ...

I have no idea whether it is still needed to block input - but at the
time, I'm sure the assert was reasonable.

Kim







reply via email to

[Prev in Thread] Current Thread [Next in Thread]