GNU bug report logs -
#15801
24.3.50; bar scrolling freezes gtk emacs
Previous Next
Reported by: Jarek Czekalski <jarekczek <at> poczta.onet.pl>
Date: Mon, 4 Nov 2013 18:42:02 UTC
Severity: important
Found in version 24.3.50
Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 15801 <at> debbugs.gnu.org (full text, mbox):
First of all I apologize for giving the wrong revision number in my
previous report.
When I tried to isolate the piece of code that introduces problems, I
finally gave up. This all revision may be applied and all works. So I
did more binary search and finally I'm sure the one below is the right
revision.
------------------------------------------------------------
revno: 112892
committer: Jan D. <jan.h.d <at> swipnet.se>
branch nick: trunk
timestamp: Sat 2013-06-08 10:48:52 +0200
message:
* xgselect.c (xg_select): Remove call to window_system_available
and g_main_context_pending at the top, so Gdk events (i.e. file
notify) are processed when Emacs is started with -nw.
It's quite short:
=== modified file 'src/xgselect.c'
@@ -44,9 +44,13 @@
- if (! (window_system_available (NULL)
- && g_main_context_pending (context = g_main_context_default ())))
- return pselect (fds_lim, rfds, wfds, efds, timeout, sigmask);
+ /* Do not try to optimize with an initial check with
g_main_context_pending
+ and a call to pselect if it returns false. If Gdk has a timeout
for 0.01
+ second, and Emacs has a timeout for 1 second,
g_main_context_pending will
+ return false, but the timeout will be 1 second, thus missing the gdk
+ timeout with a lot. */
+
+ context = g_main_context_default ();
When I apply the code removed in this revision to the current trunk, I
have a relief. No more freezing, as well as with my first fix that also
works.
Jarek
This bug report was last modified 11 years and 37 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.