Pārlūkot izejas kodu

FIX: DARWIN: Cursor not reset in new Active Window on MacOS 13 (#729)

rich2014 2 gadi atpakaļ
vecāks
revīzija
7d80562c86
1 mainītis faili ar 8 papildinājumiem un 0 dzēšanām
  1. 8 0
      src/fmain.pas

+ 8 - 0
src/fmain.pas

@@ -873,6 +873,7 @@ type
     procedure LoadTabsCommandLine(Params: TCommandLineParams);
     procedure LoadTabsCommandLine(Params: TCommandLineParams);
     procedure AddTab(ANoteBook: TFileViewNotebook; aPath: String);
     procedure AddTab(ANoteBook: TFileViewNotebook; aPath: String);
     {$IF DEFINED(DARWIN)}
     {$IF DEFINED(DARWIN)}
+    procedure FormActivate(Sender: TObject);
     procedure OnNSServiceOpenWithNewTab( filenames:TStringList );
     procedure OnNSServiceOpenWithNewTab( filenames:TStringList );
     function NSServiceMenuIsReady(): boolean;
     function NSServiceMenuIsReady(): boolean;
     function NSServiceMenuGetFilenames(): TStringList;
     function NSServiceMenuGetFilenames(): TStringList;
@@ -1221,6 +1222,7 @@ begin
   UpdateFreeSpace(fpRight, True);
   UpdateFreeSpace(fpRight, True);
 
 
 {$IF DEFINED(DARWIN)}
 {$IF DEFINED(DARWIN)}
+  self.OnActivate:= @FormActivate;
   InitNSServiceProvider( @OnNSServiceOpenWithNewTab, @NSServiceMenuIsReady, @NSServiceMenuGetFilenames );
   InitNSServiceProvider( @OnNSServiceOpenWithNewTab, @NSServiceMenuIsReady, @NSServiceMenuGetFilenames );
   InitNSThemeChangedObserver( @NSThemeChangedHandler );
   InitNSThemeChangedObserver( @NSThemeChangedHandler );
 {$ENDIF}
 {$ENDIF}
@@ -6090,6 +6092,12 @@ begin
 end;
 end;
 
 
 {$IF DEFINED(DARWIN)}
 {$IF DEFINED(DARWIN)}
+procedure TfrmMain.FormActivate(Sender: TObject);
+begin
+  Screen.Cursor:= crDefault;
+  cocoaInvalidControlCursor( self );
+end;
+
 procedure TfrmMain.OnNSServiceOpenWithNewTab( filenames:TStringList );
 procedure TfrmMain.OnNSServiceOpenWithNewTab( filenames:TStringList );
 begin
 begin
   if Assigned(filenames) and (filenames.Count>0) then
   if Assigned(filenames) and (filenames.Count>0) then