summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_console.cc10
2 files changed, 10 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 3ceaf4c94..941407f1e 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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>
* cygtls.cc (_cygtls::remove): Don't test for initialization since
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 64a83ce66..91a5e1549 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -1848,7 +1848,7 @@ fhandler_console::need_invisible ()
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
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.
Things to watch out for if you make changes in this code:
@@ -1872,18 +1872,18 @@ fhandler_console::need_invisible ()
}
else
{
- if (myself->ctty == -1)
+ if (myself->ctty != TTY_CONSOLE)
{
h = CreateWindowStation (NULL, 0, WINSTA_ACCESS, NULL);
- termios_printf ("CreateWindowStation(NULL, %p), %E", h);
+ termios_printf ("%p = CreateWindowStation(NULL), %E", h);
if (h)
{
b = SetProcessWindowStation (h);
termios_printf ("SetProcessWindowStation %d, %E", b);
}
}
- b = AllocConsole (); /* will cause flashing if CreateWorkstation
- failed */
+ b = AllocConsole (); /* will cause flashing if CreateWindowStation
+ failed */
debug_printf ("h %p, horig %p, flags %p", h, horig, oi.dwFlags);
if (horig && h && h != horig && SetProcessWindowStation (horig))
CloseWindowStation (h);