[Bug 34930] Cygwin-compiled Hello World program couldn't display output

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Feb 9 11:23:12 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=34930

Qian Hong <fracting at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch, source, testcase

--- Comment #9 from Qian Hong <fracting at gmail.com> ---
Hi, Thanks for reporting the bug. Please try the attach two hacks.

Richard, you are right, the reason is GetConsoleWindow returns NULL in
wineconsole curses backend in your case.

I'm not sure what is the best solution for this problem.

There are three ways to spawn a Win32 process using Wine on Linux terminal.

The first one is starting directly, like: 
$ wine date.exe

In this case, it is not clear that if  the parent process of echo.exe should be
considered as a Windows console, it is also not clear that if we should return
non NULL for GetConsoleWindow. Anyway, the attach hack "return fake console
windows hwnd in GetConsoleWindow" should help in this case.

The second one is starting from wineconsole, using --backend=curses, like:
$ wineconsole --backend=curses date.exe
(you might want to create a batch file like test.bat, and append "sleep.exe 5"
after "date.exe" to see the result)

In this case, current wineconsole curses doesn't create a new Window, which is
correct by design, but maybe we can simply fill a fake hwnd so GetConsoleWindow
won't be NULL, which will make the curses backend more like a Windows console.
The attach hack "fill fake hwnd for wineconsole curses backend " works in this
way. We can even try to create a fake hidden Window and emulate a bit more
information if there is any application relies on it, but that's much more
work.

The third one is starting from wineconsole, using --backend=user, like:
$ wineconsole --backend=user date.exe

In this case, wineconsole create a new Window, and GetConsoleWindow already
works.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list