diff --git a/packages/fcl-image/src/fpreadpng.pp b/packages/fcl-image/src/fpreadpng.pp index 6e2f194e40..d996ee5864 100644 --- a/packages/fcl-image/src/fpreadpng.pp +++ b/packages/fcl-image/src/fpreadpng.pp @@ -833,7 +833,7 @@ begin ZData.Free; if not img.UsePalette and assigned(FPalette) then begin - FPalette.Free; + FreeAndNil(FPalette); end; end; end; diff --git a/packages/fcl-registry/src/registry.pp b/packages/fcl-registry/src/registry.pp index 99191eb906..dc1a41799a 100644 --- a/packages/fcl-registry/src/registry.pp +++ b/packages/fcl-registry/src/registry.pp @@ -331,7 +331,7 @@ Var begin Result := GetData(Name, @Buffer, BufSize, RegDataType); - If (RegDataType<>rdBinary) Then + If not (RegDataType in [rdBinary, rdUnknown]) Then Raise ERegistryException.CreateFmt(SInvalidRegType, [Name]); end; diff --git a/packages/fcl-registry/src/winreg.inc b/packages/fcl-registry/src/winreg.inc index 0c9835cc93..f7e737f5c3 100644 --- a/packages/fcl-registry/src/winreg.inc +++ b/packages/fcl-registry/src/winreg.inc @@ -58,7 +58,7 @@ begin 0, '', REG_OPTION_NON_VOLATILE, - KEY_ALL_ACCESS, + FACCESS, SecurityAttributes, Handle, @Disposition); diff --git a/rtl/inc/systemh.inc b/rtl/inc/systemh.inc index f33cbdcab3..bbcba105ef 100644 --- a/rtl/inc/systemh.inc +++ b/rtl/inc/systemh.inc @@ -109,6 +109,7 @@ Type Cardinal = LongWord; Integer = SmallInt; UInt64 = QWord; + Boolean8 = Boolean; { moved here from psystem.pas Delphi allows chose of overloaded procedure depending diff --git a/rtl/win/wininc/defines.inc b/rtl/win/wininc/defines.inc index 5ab8915225..bae3a0ffa0 100644 --- a/rtl/win/wininc/defines.inc +++ b/rtl/win/wininc/defines.inc @@ -646,13 +646,10 @@ ALTERNATE = 1; WINDING = 2; { CreateProcess } - CREATE_DEFAULT_ERROR_MODE = 67108864; CREATE_NEW_CONSOLE = 16; CREATE_NEW_PROCESS_GROUP = 512; - CREATE_SEPARATE_WOW_VDM = 2048; CREATE_SUSPENDED = 4; STACK_SIZE_PARAM_IS_A_RESERVATION = $10000; - CREATE_UNICODE_ENVIRONMENT = 1024; DEBUG_PROCESS = 1; DEBUG_ONLY_THIS_PROCESS = 2; DETACHED_PROCESS = 8; @@ -660,6 +657,31 @@ IDLE_PRIORITY_CLASS = 64; NORMAL_PRIORITY_CLASS = 32; REALTIME_PRIORITY_CLASS = 256; + CREATE_UNICODE_ENVIRONMENT = $00000400; + CREATE_SEPARATE_WOW_VDM = $00000800; + + CREATE_SHARED_WOW_VDM = $00001000; + CREATE_FORCEDOS = $00002000; + BELOW_NORMAL_PRIORITY_CLASS = $00004000; + ABOVE_NORMAL_PRIORITY_CLASS = $00008000; + + INHERIT_PARENT_AFFINITY = $00010000; + INHERIT_CALLER_PRIORITY = $00020000; // Deprecated + CREATE_PROTECTED_PROCESS = $00040000; + EXTENDED_STARTUPINFO_PRESENT = $00080000; + + PROCESS_MODE_BACKGROUND_BEGIN = $00100000; + PROCESS_MODE_BACKGROUND_END = $00200000; + + CREATE_BREAKAWAY_FROM_JOB = $01000000; + CREATE_PRESERVE_CODE_AUTHZ_LEVEL = $02000000; + CREATE_DEFAULT_ERROR_MODE = $04000000; + CREATE_NO_WINDOW = $08000000; + + PROFILE_USER = $10000000; + PROFILE_KERNEL = $20000000; + PROFILE_SERVER = $40000000; + CREATE_IGNORE_SYSTEM_DEFAULT = $80000000; { CreateService } SERVICE_ALL_ACCESS = $f01ff; SERVICE_CHANGE_CONFIG = 2; @@ -2411,6 +2433,7 @@ Type REG_RESOURCE_LIST = 8; REG_RESOURCE_REQUIREMENTS_LIST = 10; REG_SZ = 1; + REG_QWORD = 11; { RegisterHotKey } MOD_ALT = 1; MOD_CONTROL = 2; diff --git a/rtl/win/wininc/redef.inc b/rtl/win/wininc/redef.inc index 08e071a911..b73cfb325c 100644 --- a/rtl/win/wininc/redef.inc +++ b/rtl/win/wininc/redef.inc @@ -104,7 +104,6 @@ const SIF_TRACKPOS = $10; CP_UTF7 = 65000; CP_UTF8 = 65001; - CREATE_NO_WINDOW = $08000000; WHEEL_DELTA = 120; WHEEL_PAGESCROLL = MAXDWORD;