[Wine-patches] [eter-2.1] user32: Increase timeout for timers 0 and 0x1f4 to 1000 ms (eterbug #11264).
Dmitry Timoshkov
dtimoshkov на etersoft.ru
Ср Июн 7 16:38:23 MSK 2017
---
dlls/user32/message.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 9a3efb9bc2..bb54899b1d 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -4410,12 +4410,26 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UINT_PTR id, UINT timeout, TIMERPROC proc )
DEFETER_FUNC(etersoft_fixtimer);
/* Eterbug # 150 */
- char wclass[80];
- GetClassNameA(hwnd, wclass,sizeof wclass);
LOADETER_FUNC(etersoft_1version);
- if ( etersoft_1version && (etersoft_1version() == 8))
+ if (etersoft_1version && (etersoft_1version() == 8))
+ {
+ char wclass[80];
+
+ GetClassNameA(hwnd, wclass,sizeof wclass);
if ( (id == 2) && (!proc) && !strcmp(wclass, "V8PopupBar") )
timeout += 50;
+ }
+
+ /* Eterbug #11264 */
+ if (etersoft_1version && (etersoft_1version() == 7))
+ {
+ if ((timeout == 100 && id == 0x1f4) ||
+ (timeout == 200 && id == 0 && !hwnd && proc))
+ {
+ TRACE("fixing up timer %lx to 1000 ms\n", id);
+ timeout = 1000;
+ }
+ }
if (proc) winproc = WINPROC_AllocProc( (WNDPROC)proc, FALSE );
--
2.13.1
Подробная информация о списке рассылки Wine-patches