Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2006-05-19 04:32:36 +0400
committerChristopher Faylor <me@cgf.cx>2006-05-19 04:32:36 +0400
commit1160b21781a5ecec5325e28661aed7f49faecd2f (patch)
tree11fd7b1538d96b69974b8daa420c0f8ebd1e8f6d
parentdc7798c6b0fad7a38424425d3020654d4b9fa71f (diff)
* fhandler_console.cc (fhandler_console::need_invisible): Allocate an invisible
window station when ctty != TTY_CONSOLE.
-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);