mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-06 22:39:06 +02:00
* fix the disappearing desktop for win32
This commit is contained in:
parent
df5420c0ae
commit
1cc272351a
@ -810,6 +810,10 @@ begin
|
|||||||
{$ifndef go32v2}
|
{$ifndef go32v2}
|
||||||
InitScreen;
|
InitScreen;
|
||||||
{$endif ndef go32v2}
|
{$endif ndef go32v2}
|
||||||
|
{$ifdef win32}
|
||||||
|
{ write the empty screen to dummy console handle }
|
||||||
|
UpdateScreen(true);
|
||||||
|
{$endif ndef win32}
|
||||||
InitEvents;
|
InitEvents;
|
||||||
InitSysError;
|
InitSysError;
|
||||||
CurDirChanged;
|
CurDirChanged;
|
||||||
@ -822,9 +826,11 @@ begin
|
|||||||
{$ifdef Unix}
|
{$ifdef Unix}
|
||||||
SetKnownKeys;
|
SetKnownKeys;
|
||||||
{$endif Unix}
|
{$endif Unix}
|
||||||
|
{$ifndef win32}
|
||||||
{$ifndef go32v2}
|
{$ifndef go32v2}
|
||||||
UpdateScreen(true);
|
UpdateScreen(true);
|
||||||
{$endif go32v2}
|
{$endif go32v2}
|
||||||
|
{$endif win32}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TIDEApp.AutoSave: boolean;
|
function TIDEApp.AutoSave: boolean;
|
||||||
@ -1187,7 +1193,10 @@ end;
|
|||||||
END.
|
END.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.10 2002-04-12 08:58:22 pierre
|
Revision 1.11 2002-04-25 13:34:17 pierre
|
||||||
|
* fix the disappearing desktop for win32
|
||||||
|
|
||||||
|
Revision 1.10 2002/04/12 08:58:22 pierre
|
||||||
+ add RTE(250) for Ctrl+F11 in DEBUG mode
|
+ add RTE(250) for Ctrl+F11 in DEBUG mode
|
||||||
|
|
||||||
Revision 1.9 2002/03/20 14:52:01 pierre
|
Revision 1.9 2002/03/20 14:52:01 pierre
|
||||||
|
@ -130,6 +130,7 @@ type
|
|||||||
DosScreenBufferHandle,
|
DosScreenBufferHandle,
|
||||||
IDEScreenBufferHandle,
|
IDEScreenBufferHandle,
|
||||||
StartScreenBufferHandle,
|
StartScreenBufferHandle,
|
||||||
|
DummyScreenBufferHandle,
|
||||||
NewScreenBufferHandle : THandle;
|
NewScreenBufferHandle : THandle;
|
||||||
IDEActive : boolean;
|
IDEActive : boolean;
|
||||||
ConsoleMode,IdeMode : Dword;
|
ConsoleMode,IdeMode : Dword;
|
||||||
@ -613,6 +614,10 @@ begin
|
|||||||
GENERIC_READ or GENERIC_WRITE,
|
GENERIC_READ or GENERIC_WRITE,
|
||||||
FILE_SHARE_READ or FILE_SHARE_WRITE,SecurityAttr,
|
FILE_SHARE_READ or FILE_SHARE_WRITE,SecurityAttr,
|
||||||
CONSOLE_TEXTMODE_BUFFER,nil);
|
CONSOLE_TEXTMODE_BUFFER,nil);
|
||||||
|
DummyScreenBufferHandle:=CreateConsoleScreenBuffer(
|
||||||
|
GENERIC_READ or GENERIC_WRITE,
|
||||||
|
FILE_SHARE_READ or FILE_SHARE_WRITE,SecurityAttr,
|
||||||
|
CONSOLE_TEXTMODE_BUFFER,nil);
|
||||||
StartScreenBufferHandle:=GetStdHandle(STD_OUTPUT_HANDLE);
|
StartScreenBufferHandle:=GetStdHandle(STD_OUTPUT_HANDLE);
|
||||||
GetConsoleMode(GetStdHandle(Std_Input_Handle), @ConsoleMode);
|
GetConsoleMode(GetStdHandle(Std_Input_Handle), @ConsoleMode);
|
||||||
IdeMode:=ConsoleMode;
|
IdeMode:=ConsoleMode;
|
||||||
@ -655,6 +660,7 @@ begin
|
|||||||
SetStdHandle(Std_Output_Handle,StartScreenBufferHandle);
|
SetStdHandle(Std_Output_Handle,StartScreenBufferHandle);
|
||||||
UpdateFileHandles;
|
UpdateFileHandles;
|
||||||
CloseHandle(NewScreenBufferHandle);
|
CloseHandle(NewScreenBufferHandle);
|
||||||
|
CloseHandle(DummyScreenBufferHandle);
|
||||||
inherited Done;
|
inherited Done;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -841,6 +847,9 @@ end;
|
|||||||
procedure TWin32Screen.SaveIDEScreen;
|
procedure TWin32Screen.SaveIDEScreen;
|
||||||
begin
|
begin
|
||||||
GetConsoleMode(GetStdHandle(Std_Input_Handle), @IdeMode);
|
GetConsoleMode(GetStdHandle(Std_Input_Handle), @IdeMode);
|
||||||
|
{ set the dummy buffer as active already now PM }
|
||||||
|
SetStdHandle(Std_Output_Handle,DummyScreenBufferHandle);
|
||||||
|
UpdateFileHandles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ dummy for win32 as the Buffer screen
|
{ dummy for win32 as the Buffer screen
|
||||||
@ -848,8 +857,8 @@ end;
|
|||||||
procedure TWin32Screen.SaveConsoleScreen;
|
procedure TWin32Screen.SaveConsoleScreen;
|
||||||
begin
|
begin
|
||||||
GetConsoleMode(GetStdHandle(Std_Input_Handle), @ConsoleMode);
|
GetConsoleMode(GetStdHandle(Std_Input_Handle), @ConsoleMode);
|
||||||
{ set the IDE buffer as active already now PM }
|
{ set the dummy buffer as active already now PM }
|
||||||
SetStdHandle(Std_Output_Handle,IDEScreenBufferHandle);
|
SetStdHandle(Std_Output_Handle,DummyScreenBufferHandle);
|
||||||
UpdateFileHandles;
|
UpdateFileHandles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -869,6 +878,8 @@ var
|
|||||||
res : boolean;
|
res : boolean;
|
||||||
error : longint;
|
error : longint;
|
||||||
begin
|
begin
|
||||||
|
SetStdHandle(Std_Output_Handle,IDEScreenBufferHandle);
|
||||||
|
UpdateFileHandles;
|
||||||
GetConsoleScreenBufferInfo(IDEScreenBufferHandle,
|
GetConsoleScreenBufferInfo(IDEScreenBufferHandle,
|
||||||
@ConsoleScreenBufferInfo);
|
@ConsoleScreenBufferInfo);
|
||||||
SetConsoleActiveScreenBuffer(IDEScreenBufferHandle);
|
SetConsoleActiveScreenBuffer(IDEScreenBufferHandle);
|
||||||
@ -932,7 +943,10 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.8 2002-01-22 16:29:52 pierre
|
Revision 1.9 2002-04-25 13:34:17 pierre
|
||||||
|
* fix the disappearing desktop for win32
|
||||||
|
|
||||||
|
Revision 1.8 2002/01/22 16:29:52 pierre
|
||||||
* try to fix win32 problem with Dos program ouptut in command shell
|
* try to fix win32 problem with Dos program ouptut in command shell
|
||||||
Warning, to debug under win32 with GDB you must use "set new-console on"
|
Warning, to debug under win32 with GDB you must use "set new-console on"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user