Преглед на файлове

* Try to set correct function modifiers for signals

git-svn-id: trunk@7111 -
pierre преди 18 години
родител
ревизия
91fc62d6f7
променени са 2 файла, в които са добавени 19 реда и са изтрити 7 реда
  1. 11 7
      ide/fpcatch.pas
  2. 8 0
      ide/globdir.inc

+ 11 - 7
ide/fpcatch.pas

@@ -131,11 +131,15 @@ end;
 {$endif DEBUG}
 
 {$ifdef HasSignal}
-{$ifdef Unix}
+{$ifndef SignalIsFunction}
 Procedure Catchsignal(Sig : Longint);cdecl;
-{$else}
-Function Catchsignal(Sig : longint):longint;
-{$endif}
+{$else SignalIsFunction}
+  {$ifdef SignalIsCdecl}
+  Function Catchsignal(Sig : longint):longint; cdecl;
+  {$else not SignalIsCdecl}
+  Function Catchsignal(Sig : longint):longint;
+  {$endif not SignalIsCdecl}
+{$endif SignalIsFunction}
 var MustQuit: boolean;
 begin
   case Sig of
@@ -205,9 +209,9 @@ begin
                 end;
              end;
   end;
-{$ifndef Unix}
+{$ifdef SignalIsFunction}
   CatchSignal:=0;
-{$endif}
+{$endif SignalIsFunction}
 end;
 {$endif def HasSignal}
 
@@ -248,7 +252,7 @@ begin
 {$endif go32v2}
 {$ifdef HasSignal}
 {$ifndef TP}
-  NewSignal:=SignalHandler(@CatchSignal);
+  NewSignal:=@CatchSignal;
 {$else TP}
   NewSignal:=SignalHandler(CatchSignal);
 {$endif TP}

+ 8 - 0
ide/globdir.inc

@@ -30,6 +30,8 @@
   {$define SUPPORTREDIR}
   {$define WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsFunction}
+  {$define SignalIsCdecl}
   {$define FSCaseInsensitive}
   {$define HasSysMsgUnit}
   {$ifdef DEBUG}
@@ -42,6 +44,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -51,6 +54,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -59,6 +63,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -67,6 +72,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -76,6 +82,8 @@
   {$define WinClipSupported}
   {$ifdef win32}
     {$define HasSignal}
+    {$define SignalIsFunction}
+    {$define SignalIsCdecl}
   {$endif}
   {$define FSCaseInsensitive}
   {$define HasSysMsgUnit}