fix bug #558: title bar redraw (win32)

USE_SYNCHRONIZE enabled per default for 1.9.x

git-svn-id: trunk@6597 -
This commit is contained in:
micha 2005-01-15 10:09:23 +00:00
parent 1a3f55d2c7
commit 5e96e40e13
4 changed files with 34 additions and 11 deletions

View File

@ -32,7 +32,7 @@ interface
uses
SysUtils, Classes, FPCAdds,
{$IFDEF UNIX}
{$ifdef USE_SYNCHRONIZE}
{$ifndef VER1_0}
baseunix, unix,
{$endif}
{$IFDEF GTK1}
@ -921,7 +921,7 @@ end;
{$I gtkproc.inc}
{$I gtkcallback.inc}
{$ifdef USE_SYNCHRONIZE}
{$ifndef VER1_0}
var
threadsync_pipein, threadsync_pipeout: cint;
@ -971,7 +971,7 @@ begin
for lgs:=Low(TLazGtkStyle) to High(TLazGtkStyle) do
StandardStyles[lgs]:=nil;
{$ifdef USE_SYNCHRONIZE}
{$ifndef VER1_0}
{ TThread.Synchronize ``glue'' }
SynchronizeMethodProc := @PrepareSynchronize;
assignpipe(threadsync_pipein, threadsync_pipeout);
@ -993,7 +993,7 @@ begin
DoneKeyboardTables;
{$ifdef USE_SYNCHRONIZE}
{$ifndef VER1_0}
SynchronizeMethodProc := nil;
{$endif}
end;

View File

@ -480,9 +480,20 @@ Begin
End;
WM_ACTIVATEAPP:
Begin
if WParam <> 0 then
if Window = TWin32WidgetSet(InterfaceObject).AppHandle then
Windows.SetWindowPos(TWin32WidgetSet(InterfaceObject).AppHandle, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
if Window = TWin32WidgetSet(InterfaceObject).AppHandle then
begin
if WParam <> 0 then
begin
Windows.SetWindowPos(TWin32WidgetSet(InterfaceObject).AppHandle, HWND_TOP,
0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
end;
// activate/deactivate main window
if (Application <> nil) and (Application.MainForm <> nil) and
Application.MainForm.HandleAllocated then
begin
CallDefaultWindowProc(Application.MainForm.Handle, WM_NCACTIVATE, WParam, 0);
end;
end;
End;
BM_SETCHECK:
Begin
@ -1359,12 +1370,12 @@ begin
WM_KEYFIRST..WM_KEYLAST, WM_MOUSEFIRST..WM_MOUSELAST:
begin
// parent of overlay is the form
Windows.PostMessage(Windows.GetParent(Window), Msg, WParam, LParam);
Result := Windows.SendMessage(Windows.GetParent(Window), Msg, WParam, LParam);
end;
WM_NCDESTROY:
begin
// free our own data associated with window
DisposeWindowInfo(Window)
DisposeWindowInfo(Window);
end;
else
Result := CallDefaultWindowProc(Window, Msg, WParam, LParam);
@ -1516,6 +1527,10 @@ end;
{
$Log$
Revision 1.184 2005/01/15 10:09:23 micha
fix bug 558: title bar redraw (win32)
USE_SYNCHRONIZE enabled per default for 1.9.x
Revision 1.183 2005/01/10 20:30:10 vincents
fixed fpc 1.0.x compilation

View File

@ -266,7 +266,7 @@ Initialization
{$endif}
EraseBkgndStack := 0;
{$ifdef USE_SYNCHRONIZE}
{$ifndef VER1_0}
{ TThread.Synchronize support }
SynchronizeMethodProc := @PrepareSynchronize;
{$endif}
@ -280,6 +280,10 @@ End.
{ =============================================================================
$Log$
Revision 1.131 2005/01/15 10:09:23 micha
fix bug 558: title bar redraw (win32)
USE_SYNCHRONIZE enabled per default for 1.9.x
Revision 1.130 2005/01/14 12:16:39 vincents
added elements to LclCursorToWin32CursorMap for new crXXX constants

View File

@ -306,7 +306,7 @@ Begin
TranslateMessage(@AMessage);
DispatchMessage(@AMessage);
End;
{$ifdef USE_SYNCHRONIZE}
{$ifndef VER1_0}
// check for pending to-be synchronized methods
CheckSynchronize;
{$endif}
@ -717,6 +717,10 @@ end;
{
$Log$
Revision 1.305 2005/01/15 10:09:23 micha
fix bug 558: title bar redraw (win32)
USE_SYNCHRONIZE enabled per default for 1.9.x
Revision 1.304 2005/01/03 16:29:48 micha
take windowstate into account when showing window