* fhandler_console.cc (fhandler_console::need_invisible): Allocate an invisible
window station when ctty != TTY_CONSOLE.
This commit is contained in:
parent
dc7798c6b0
commit
1160b21781
@ -1,3 +1,8 @@
|
|||||||
|
2006-05-18 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
|
* fhandler_console.cc (fhandler_console::need_invisible): Allocate an
|
||||||
|
invisible window station when ctty != TTY_CONSOLE.
|
||||||
|
|
||||||
2006-05-16 Christopher Faylor <cgf@timesys.com>
|
2006-05-16 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
* cygtls.cc (_cygtls::remove): Don't test for initialization since
|
* cygtls.cc (_cygtls::remove): Don't test for initialization since
|
||||||
|
@ -1848,7 +1848,7 @@ fhandler_console::need_invisible ()
|
|||||||
station or, strangely, characters will not be displayed in any windows
|
station or, strangely, characters will not be displayed in any windows
|
||||||
drawn on the current screen. We only do this if we have changed to
|
drawn on the current screen. We only do this if we have changed to
|
||||||
a new windows station and if we had an existing windows station previously.
|
a new windows station and if we had an existing windows station previously.
|
||||||
We also close the previously opened work station even though AllocConsole
|
We also close the previously opened workstation even though AllocConsole
|
||||||
is now "using" it. This doesn't seem to cause any problems.
|
is now "using" it. This doesn't seem to cause any problems.
|
||||||
|
|
||||||
Things to watch out for if you make changes in this code:
|
Things to watch out for if you make changes in this code:
|
||||||
@ -1872,18 +1872,18 @@ fhandler_console::need_invisible ()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (myself->ctty == -1)
|
if (myself->ctty != TTY_CONSOLE)
|
||||||
{
|
{
|
||||||
h = CreateWindowStation (NULL, 0, WINSTA_ACCESS, NULL);
|
h = CreateWindowStation (NULL, 0, WINSTA_ACCESS, NULL);
|
||||||
termios_printf ("CreateWindowStation(NULL, %p), %E", h);
|
termios_printf ("%p = CreateWindowStation(NULL), %E", h);
|
||||||
if (h)
|
if (h)
|
||||||
{
|
{
|
||||||
b = SetProcessWindowStation (h);
|
b = SetProcessWindowStation (h);
|
||||||
termios_printf ("SetProcessWindowStation %d, %E", b);
|
termios_printf ("SetProcessWindowStation %d, %E", b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
b = AllocConsole (); /* will cause flashing if CreateWorkstation
|
b = AllocConsole (); /* will cause flashing if CreateWindowStation
|
||||||
failed */
|
failed */
|
||||||
debug_printf ("h %p, horig %p, flags %p", h, horig, oi.dwFlags);
|
debug_printf ("h %p, horig %p, flags %p", h, horig, oi.dwFlags);
|
||||||
if (horig && h && h != horig && SetProcessWindowStation (horig))
|
if (horig && h && h != horig && SetProcessWindowStation (horig))
|
||||||
CloseWindowStation (h);
|
CloseWindowStation (h);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user