|
From: | grischka |
Subject: | bug#1348: set-frame-width and set-frame-position seem buggy on at least MSWindows |
Date: | Tue, 02 Dec 2008 15:11:23 +0100 |
User-agent: | Thunderbird 1.5.0.10 (Windows/20070221) |
jasonr wrote:
Quoting grischka:Below is a patch that fixes the problem on windows.I believe this patch is incorrect, as it will result in the message handling code running in the context of the Lisp thread, which will result in a whole host of unreproducable crashing bugs if left like that. Probably the reason it seems to work is that it introduces a delay that is generally long enough for the real resizing or moving to take place before the Lisp thread continues.
Believes are not an approach to code, coincidentally none of the above do apply.
Inter-thread synchronization is what is needed here to fix this safely and deterministically.
Nicely put. This is the theory. (As to practical things that need fixing: HRGN orig_clip; GetClipRgn(s->hdc, orig_clip); Or: for (i = 0; i < len; i++) ExtTextOutW (s->hdc, x + i, y, options, NULL, s->char2b + from + i, 1, NULL); )
[Prev in Thread] | Current Thread | [Next in Thread] |