Subject: bug#5037: Asserion failure in draw_row_fringe_bitmaps

From: Jan Djärv <[email-masked]>
Date: Tue, 19 Jan 2010 08:04:07 +0100

>> It looks correct, as far as I can tell.  I've checked in the fix.
>> (I think we need to UNBLOCK_INPUT before the early return on line 5816,
>> so I went ahead and added that to your original patch.)
> 
> Thanks,
> 

I don't understand this.  The function where the BLOCK_INPUT is added is 
always called in the event loop (i.e. the signal handler).  The purpose of 
BLOCK_INPUT is to prevent the signal handler from running when normal code is 
executed, which can't happen in this case, as we already are in the signal 
handler.  If we are useing SYNC_INPUT, none of this is needed anyway.

So the assertion is wrong, it should either check for BLOCK_INPUT or running 
in the signal handler.  The addition of BLOCK_INPUT in the code now kind of 
indicates that the function is callable outside the event loop, which is 
false.  Why does draw_row_fringe_bitmaps need to have input blocked?  If it 
does, why doesn't it block input?  They are nestable.

	Jan D.