[Bug 8343] New: BridgeBuider just keeps hanging forever

Wine Bugs wine-bugs at winehq.org
Wed May 9 09:49:18 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=8343

           Summary: BridgeBuider just keeps hanging forever
           Product: Wine
           Version: CVS
          Platform: PC
               URL: http://www.crypticsea.com/bridgebuilding/index.html
        OS/Version: Linux
            Status: UNCONFIRMED
          Keywords: download
          Severity: normal
          Priority: P2
         Component: wine-user
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: xerox_xerox2000 at yahoo.co.uk


Hi, a user submitted this as a new application in the appdb, with garbage test
results. I gave it a try and indeed it hangs forever leaving only this in the
console:

fixme:keyboard:X11DRV_LoadKeyboardLayout L"00000409", 0080: stub!
fixme:keyboard:X11DRV_LoadKeyboardLayout L"04090409", 0001: stub!
err:ntdll:RtlpWaitForCriticalSection section 0x7bc82b64 "loader.c:
loader_section" wait timed out in thread 000e, blocked by 000b, retrying (60 sec) 


>From a look in the debug trace i can see it does (amongst others) the following
calls over and over again:

000d:Call user32.LoadCursorA(00000000,00007f00) ret=602c8a2f
000d:Ret  user32.LoadCursorA() retval=000010de ret=602c8a2f
000d:Call user32.SetCursor(000010de) ret=602c8a3a
000d:Ret  user32.SetCursor() retval=000010de ret=602c8a3a


With the following (probably bogus) hack below i was able to start the game. At
least the hack shows there might be something wrong in our code for SetCursor.



diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index 63465ca..590f6bd 100644
--- a/dlls/user32/cursoricon.c
+++ b/dlls/user32/cursoricon.c
@@ -1458,9 +1458,10 @@ HCURSOR WINAPI SetCursor( HCURSOR hCursor /* [in] Handle
of cursor to show */ )
 {
     struct user_thread_info *thread_info = get_user_thread_info();
     HCURSOR hOldCursor;
-
-    if (hCursor == thread_info->cursor) return hCursor;  /* No change */
+    if (hCursor == thread_info->cursor && thread_info->cursor_count >= 0)
return hCursor;  /* No change */
     TRACE("%p\n", hCursor);
     hOldCursor = thread_info->cursor;
     thread_info->cursor = hCursor;
     /* Change the cursor shape only if it is visible */

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list