mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-03 15:03:48 +02:00
Gtk2: make it compileable with -dUSE_GTK_MAIN_OLD_ITERATION
git-svn-id: trunk@35565 -
This commit is contained in:
parent
0f7d09254a
commit
8cb9d35d98
@ -70,9 +70,9 @@ type
|
||||
private
|
||||
{$IFNDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
FMainPoll: PGPollFD;
|
||||
{$ENDIF}
|
||||
FIsLibraryInstance: Boolean;
|
||||
FGtkTerminated: Boolean;
|
||||
{$ENDIF}
|
||||
FMultiThreadingEnabled: boolean;
|
||||
FocusTimer: cardinal;
|
||||
FLastFocusIn: PGtkWidget;
|
||||
@ -313,10 +313,8 @@ type
|
||||
{$ENDIF}
|
||||
procedure StartFocusTimer;
|
||||
property AppActive: Boolean read GetAppActive write SetAppActive;
|
||||
{$IFNDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
property IsLibraryInstance: Boolean read FIsLibraryInstance;
|
||||
property GtkIsTerminated: Boolean read FGtkTerminated;
|
||||
{$ENDIF}
|
||||
property LastFocusIn: PGtkWidget read FLastFocusIn write FLastFocusIn;
|
||||
property LastFocusOut: PGtkWidget read FLastFocusOut write FLastFocusOut;
|
||||
property MultiThreadingEnabled: boolean read FMultiThreadingEnabled;
|
||||
|
@ -1398,10 +1398,9 @@ begin
|
||||
FLastFocusOut := nil;
|
||||
|
||||
LastWFPMousePos := Point(MaxInt, MaxInt);
|
||||
{$IFNDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
|
||||
FIsLibraryInstance := False;
|
||||
FGtkTerminated := False;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF EnabledGtkThreading}
|
||||
{$IFNDEF Win32}
|
||||
@ -2359,14 +2358,17 @@ begin
|
||||
// let gtk handle up to 100 messages and call our callbacks
|
||||
i:=100;
|
||||
|
||||
{$IFDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
while (gtk_events_pending<>0) and (i>0) do
|
||||
begin
|
||||
gtk_main_iteration_do(False);
|
||||
dec(i);
|
||||
end;
|
||||
{$ELSE}
|
||||
if not FGtkTerminated then
|
||||
begin
|
||||
{$IFDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
while (gtk_events_pending<>0) and (i>0) do
|
||||
begin
|
||||
if FGtkTerminated then
|
||||
break;
|
||||
gtk_main_iteration_do(False);
|
||||
dec(i);
|
||||
end;
|
||||
{$ELSE}
|
||||
while g_main_context_pending(g_main_context_default) and (i>0) do
|
||||
begin
|
||||
if FGtkTerminated then
|
||||
@ -2375,7 +2377,8 @@ begin
|
||||
break;
|
||||
dec(i);
|
||||
end;
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
//DebugLn(['TGtk2WidgetSet.AppProcessMessages SendCachedGtkMessages']);
|
||||
// send cached gtk messages to the lcl
|
||||
@ -2443,12 +2446,14 @@ end;
|
||||
procedure TGtk2WidgetSet.AppWaitMessage;
|
||||
begin
|
||||
WaitingForMessages:=true;
|
||||
{$IFDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
gtk_main_iteration_do(True);
|
||||
{$ELSE}
|
||||
if not FGtkTerminated then
|
||||
begin
|
||||
{$IFDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
gtk_main_iteration_do(True);
|
||||
{$ELSE}
|
||||
g_main_context_iteration(g_main_context_default, True);
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
end;
|
||||
WaitingForMessages:=false;
|
||||
end;
|
||||
|
||||
@ -2534,14 +2539,10 @@ end;
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TGtk2WidgetSet.AppTerminate;
|
||||
begin
|
||||
{$IFNDEF USE_GTK_MAIN_OLD_ITERATION}
|
||||
if FIsLibraryInstance then
|
||||
begin
|
||||
FGtkTerminated := True;
|
||||
// writeln('TGtk2WidgetSet.AppTerminate called from library ...');
|
||||
// g_main_context_wakeup(g_main_context_default);
|
||||
end;
|
||||
{$ENDIF}
|
||||
// MG: using gtk_main_quit is not a clean way to close
|
||||
//gtk_main_quit;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user