diff --git a/packages/chm/src/chmsitemap.pas b/packages/chm/src/chmsitemap.pas
index cc0623c16a..c5035d72f7 100644
--- a/packages/chm/src/chmsitemap.pas
+++ b/packages/chm/src/chmsitemap.pas
@@ -253,10 +253,8 @@ begin
begin
if (FLevel > 0 ) then
begin
-
- if LowerCase(GetTagName(AActualTag)) = 'param' then begin
-
- TagAttributeName := GetVal(AActualTag, 'name');
+ if LowerCase(GetTagName(AActualTag)) = 'param' then begin
+ TagAttributeName := GetVal(AActualTag, 'name');
TagAttributeValue := GetVal(AActualTag, 'value');
//writeln('name,value',tagattributename, ' ',tagattributevalue);
if TagAttributeName <> '' then begin
@@ -424,7 +422,7 @@ var
WriteString('
');
Inc(Indent, 8);
- if (SiteMapType = stIndex) and (Item.Children.Count > 0) then
+ if (SiteMapType = stIndex) and ((Item.Children.Count > 0) or (item.seealso<>'')) then
WriteParam('Keyword', Item.Text);
//if Item.KeyWord <> '' then WriteParam('Keyword', Item.KeyWord);
if Item.Text <> '' then WriteParam('Name', Item.Text);
diff --git a/packages/fcl-base/src/base64.pp b/packages/fcl-base/src/base64.pp
index 449ddee018..89ecc96bd8 100644
--- a/packages/fcl-base/src/base64.pp
+++ b/packages/fcl-base/src/base64.pp
@@ -456,6 +456,8 @@ var
Outstream : TStringStream;
Encoder : TBase64EncodingStream;
begin
+ if Length(s)=0 then
+ Exit('');
Outstream:=TStringStream.Create('');
try
Encoder:=TBase64EncodingStream.create(outstream);
diff --git a/packages/numlib/src/typ.pas b/packages/numlib/src/typ.pas
index 9991aefeac..d62a82ef54 100644
--- a/packages/numlib/src/typ.pas
+++ b/packages/numlib/src/typ.pas
@@ -43,13 +43,16 @@ unit typ;
{$I DIRECT.INC} {Contains "global" compilerswitches which
are imported into every unit of the library }
-{$DEFINE ArbExtended}
interface
uses
Math;
+{$if sizeof(extended)=10}
+{$DEFINE ArbExtended}
+{$endif}
+
CONST numlib_version=2; {used to detect version conflicts between
header unit and dll}
diff --git a/packages/rtl-objpas/src/inc/dateutil.inc b/packages/rtl-objpas/src/inc/dateutil.inc
index 27bd4f44e1..ec8410ef09 100644
--- a/packages/rtl-objpas/src/inc/dateutil.inc
+++ b/packages/rtl-objpas/src/inc/dateutil.inc
@@ -2616,7 +2616,7 @@ begin
matchchar(ptrn[pind]);
end;
end;
- if (pind0) and (ptrn[plen-1]<>#9) then // allow omission of trailing whitespace
+ if (pind0) and not (ptrn[plen-1] in [#9, '"']) then // allow omission of trailing whitespace
RaiseException(format(SFullpattern,[poffs+pind+1]));
end;
diff --git a/packages/winunits-base/src/shellapi.pp b/packages/winunits-base/src/shellapi.pp
index b175992d44..208248551e 100644
--- a/packages/winunits-base/src/shellapi.pp
+++ b/packages/winunits-base/src/shellapi.pp
@@ -18,7 +18,11 @@
{$smartlink on}
{$endif}
-{$PACKRECORDS C}
+{$ifdef WIN64}
+ {$PACKRECORDS C}
+{$else}
+ {$PACKRECORDS 1}
+{$endif}
{$calling stdcall}
{$mode objfpc}
diff --git a/packages/winunits-base/src/shlobj.pp b/packages/winunits-base/src/shlobj.pp
index a982ae7327..d8b2765fde 100644
--- a/packages/winunits-base/src/shlobj.pp
+++ b/packages/winunits-base/src/shlobj.pp
@@ -1018,7 +1018,7 @@ Type
TCATEGORY_INFO = CATEGORY_INFO;
PCATEGORY_INFO = ^CATEGORY_INFO;
- LPSHColumnID = SHColumnID;
+ LPSHColumnID = ^SHColumnID;
TSHColumnid = SHColumnID;
pSHColumnID = LPSHColumnID;
diff --git a/rtl/win/wininc/defines.inc b/rtl/win/wininc/defines.inc
index c8c4638a9c..ff8785a8dd 100644
--- a/rtl/win/wininc/defines.inc
+++ b/rtl/win/wininc/defines.inc
@@ -245,9 +245,18 @@
SERVICE_CONTINUE_PENDING = 5;
SERVICE_PAUSE_PENDING = 6;
SERVICE_PAUSED = 7;
- SERVICE_ACCEPT_STOP = 1;
- SERVICE_ACCEPT_PAUSE_CONTINUE = 2;
- SERVICE_ACCEPT_SHUTDOWN = 4;
+ SERVICE_ACCEPT_STOP = $01;
+ SERVICE_ACCEPT_PAUSE_CONTINUE = $02;
+ SERVICE_ACCEPT_SHUTDOWN = $04;
+ SERVICE_ACCEPT_PARAMCHANGE = $08;
+ SERVICE_ACCEPT_NETBINDCHANGE = $10;
+ SERVICE_ACCEPT_HARDWAREPROFILECHANGE = $20;
+ SERVICE_ACCEPT_POWEREVENT = $40;
+ SERVICE_ACCEPT_SESSIONCHANGE = $80;
+ SERVICE_ACCEPT_PRESHUTDOWN = $100;
+ SERVICE_ACCEPT_TIMECHANGE = $200;
+ SERVICE_ACCEPT_TRIGGEREVENT = $400;
+
{ CheckDlgButton }
BST_CHECKED = 1;
BST_INDETERMINATE = 2;
@@ -350,11 +359,24 @@
DBG_TERMINATE_THREAD = $40010003;
DBG_TERMINATE_PROCESS = $40010004;
{ ControlService }
- SERVICE_CONTROL_STOP = 1;
- SERVICE_CONTROL_PAUSE = 2;
- SERVICE_CONTROL_CONTINUE = 3;
- SERVICE_CONTROL_INTERROGATE = 4;
- SERVICE_CONTROL_SHUTDOWN = 5;
+ SERVICE_CONTROL_STOP = $1;
+ SERVICE_CONTROL_PAUSE = $2;
+ SERVICE_CONTROL_CONTINUE = $3;
+ SERVICE_CONTROL_INTERROGATE = $4;
+ SERVICE_CONTROL_SHUTDOWN = $5;
+ SERVICE_CONTROL_PARAMCHANGE = $6;
+ SERVICE_CONTROL_NETBINDADD = $7;
+ SERVICE_CONTROL_NETBINDREMOVE = $8;
+ SERVICE_CONTROL_NETBINDENABLE = $9;
+ SERVICE_CONTROL_NETBINDDISABLE = $A;
+ SERVICE_CONTROL_DEVICEEVENT = $B;
+ SERVICE_CONTROL_HARDWAREPROFILECHANGE = $C;
+ SERVICE_CONTROL_POWEREVENT = $D;
+ SERVICE_CONTROL_SESSIONCHANGE = $E;
+ SERVICE_CONTROL_PRESHUTDOWN = $F;
+ SERVICE_CONTROL_TIMECHANGE = $10;
+ SERVICE_CONTROL_TRIGGEREVENT = $20;
+
{ CopyImage, LoadImage }
IMAGE_BITMAP = 0;
IMAGE_CURSOR = 2;