Commit Graph

320 Commits

Author SHA1 Message Date
sergei
15e1abddf7 * Windows RTL: Simplify SysUtils.GetLocalTime(). TSystemTime type for these targets matches one defined in Windows unit, so WinAPI function result can be used directly. Resolves #18346.
git-svn-id: trunk@16665 -
2010-12-30 20:40:47 +00:00
pierre
0fabda01a8 * Added code to support Windows 95 again
This code is disabled by default, you need to complie the RTL
  with option -dSUPPORT_WIN95.

    2.4.2 release is already not usable on Windows 95 because
  the kernel32 DLL function TryEnterCriticalSection is loaded
  into system unit unconditionnally, while this function does
  not exist in Winddows 95 kernel32.

    This patch uses LoadLibrary/GetProcAddress coupple to check if
  TryEnterCriticalSection exists and provides an alternate implementation
  that will be used on Windows 95 systems only (Windows 98 kernel32
  DLL does export TryEnterCriticalSection).

git-svn-id: trunk@16579 -
2010-12-17 14:12:43 +00:00
sergei
13bea29253 * win/sysutils.pp, FileOpen and FileCreate, removed manual zero-termination of strings. This unit compiles in {$h+} state, and AnsiString zero-termination is handled automatically these days.
git-svn-id: trunk@16558 -
2010-12-12 15:07:38 +00:00
sergei
179229007e * win/sysutils.pp: fix/clean up loading dll for SHGetFolderPath.
* Don't attempt to load shell32.dll, since every system with shell32.dll that exports SHGetFolderPath also has shfolder.dll present.
  * Load shfolder.dll using a full path in order to prevent loading of malicious code by placing a same-named dll into program directory (Mantis #18185).

git-svn-id: trunk@16549 -
2010-12-11 10:05:10 +00:00
sergei
c5162a7816 * win/sysutils.pp: Use GetModuleHandle for dynamic loading of kernel32.dll instead of LoadLibrary, this is possible because kernel32 is statically linked by RTL and is therefore always loaded with application. Also makes FreeLibrary at finalization unnecessary.
- Removed checks for Windows version, they are redundant. GetProcAddress simply returns nil if the function is not present.

git-svn-id: trunk@16540 -
2010-12-11 04:47:33 +00:00
Jonas Maebe
f4c31ecf3c + widestringmanager.codepointlengthproc added, which can be used to
determine the length of a multi-byte character. The return values
    are defined to be the same as those of POSIX' mblen: -1 =
    invalid/incomplete sequence, 0 = #0, > 0 = length of sequence in
    bytes.
  + default implementation for widestringmanager.codepointlengthproc
    (assumes all code points have length 1) and Unix implementation
    (based on mb(r)len); Windows implementation is still required
  * replaced default implementation of
    widestringmanager.CharLengthPCharProc with strlen() of the input
    instead of an error (correct if all code points have length 1,
    still needs Windows implementation)
  + implemented fpc_text_read_{wide,unicode}str() and
    fpc_text_read_widechar() (mantis #18163); fpc_text_read_widechar()
    uses the new widestringmanager.codepointlengthproc()
  + unicodestring support for readstr/writestr
  * fixed declaration of fpc_Write_Text_UnicodeStr (unicodestring
    instead of widestring parameter)
  * extended test/twide*.pp tests to test the new/fixed functionality

git-svn-id: trunk@16533 -
2010-12-10 14:10:01 +00:00
sergei
4e3cedb492 * VariantInit is a procedure, not a function (according to both MSDN and Delphi docs).
git-svn-id: trunk@16525 -
2010-12-09 01:27:09 +00:00
florian
a0c25dc0f9 - removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089
git-svn-id: trunk@16472 -
2010-11-28 20:46:50 +00:00
michael
cc0be1be4d * Completely initialize threadvars when an external thread is detected. Needs still cleanup code (or a better thread initialization/finalization).
git-svn-id: trunk@16432 -
2010-11-25 15:50:49 +00:00
sergei
cbdc08b641 * dynlibs.pas: added 'const' modifiers to eliminate unnecessary local string copies
git-svn-id: trunk@16366 -
2010-11-18 22:09:48 +00:00
paul
4036be1221 rtl: add IO_REPARSE_TAG constants
git-svn-id: trunk@16358 -
2010-11-18 04:06:49 +00:00
michael
5cdc3c3a29 * Correction of PAFProtocols (Ivan Shikhalev, bug ID #17924
git-svn-id: trunk@16335 -
2010-11-13 15:51:43 +00:00
sergei
80d69c8a22 * win/sysutils.pp, implement CompareUnicodeString and CompareTextUnicodeString, resolves #17591.
git-svn-id: trunk@16293 -
2010-11-02 07:34:23 +00:00
sergei
a4dd7701d9 * win/sysutils.pp: removed private WinAPI function declarations. Since this unit uses Windows unit, there's no point in re-declaring stuff.
git-svn-id: trunk@16292 -
2010-11-02 07:11:17 +00:00
sergei
ffc357a528 * TThread, Windows implementation: prevent resource leak when destroying an initially suspended and never resumed thread. The thread must be always resumed so that ThreadProc can complete and cleanup. Fixes Mantis #17560.
git-svn-id: trunk@16290 -
2010-11-01 22:37:33 +00:00
sergei
0933bdc045 * win/sysutils.pp, removed an unused variable (forgotten part of r13838)
git-svn-id: trunk@16282 -
2010-11-01 00:38:51 +00:00
florian
27ff441975 o patch from Sven Barth:
- remove critical section from dll initialization, windows allows only one thread at one to run dllmain, resolves #17858

git-svn-id: trunk@16263 -
2010-10-30 14:37:55 +00:00
marco
8304d2c1c5 * adds gwlp and gclp constants, mantis 17656 and 17655
git-svn-id: trunk@16179 -
2010-10-17 19:58:49 +00:00
mazen
b127fc154a * Fixed spell error revealed by lintian.
git-svn-id: trunk@16094 -
2010-10-06 20:33:57 +00:00
sergei
a66876704b * Windows platforms: always start a thread in suspended state and resume it later in AfterConstruction if necessary, prevents race conditions in constructor. Fixes Mantis #16884 on Windows.
git-svn-id: trunk@16091 -
2010-10-06 16:57:15 +00:00
pierre
bdefb849fc * Fix for Bug report 17550
git-svn-id: trunk@16089 -
2010-10-06 16:04:46 +00:00
florian
e9550c62bf * inline original windows macros
git-svn-id: trunk@16054 -
2010-09-27 18:51:10 +00:00
marco
4e06fbf4f0 * corrected wrong register in x86_64 asm
git-svn-id: trunk@15851 -
2010-08-19 08:52:37 +00:00
florian
59702147ff * patch by "Vasil" to fix various WinCE and Win32 API conversion issues
git-svn-id: trunk@15824 -
2010-08-15 19:39:31 +00:00
marco
df19960f41 * simple fix for 16158, avoid crash on duplicate calling of DLL_PROCESS_DETACH
git-svn-id: trunk@15787 -
2010-08-12 15:34:43 +00:00
marco
ecd4b3dc23 * textmetricA variants, delphi compat.
git-svn-id: trunk@15779 -
2010-08-11 11:05:59 +00:00
marco
8caa62618f * support for east asia locale in formatdatetime. Patch from Taka_JP, mantis 14955 modified for recent sysutils rework, and to init eastasia support only once.
git-svn-id: trunk@15776 -
2010-08-11 09:03:13 +00:00
marco
2d8ac256cf * First era patch of Taka_JP.
git-svn-id: trunk@15775 -
2010-08-11 08:29:47 +00:00
marco
1181115baa * getlocalformatsettings, Mantis 10389
git-svn-id: trunk@15691 -
2010-08-02 20:32:50 +00:00
marco
79678bfbe2 * fix for 17008, changed bytes component of mapviewoffile(ex) to size_t
git-svn-id: trunk@15630 -
2010-07-24 19:03:59 +00:00
marco
5564ab3582 * added cdecl to some overloaded wsprintfa/w variants. Mantis 16915
git-svn-id: trunk@15561 -
2010-07-13 03:44:04 +00:00
marco
deb78080ed * fix for Mantis 16564. Raise buffersize of getlocalechar to MSDN limit 4,
so that locales with long dateseparators (time,thousand,decimal) now 
  succeed, even if limited only to first char. (Delphi limit)

git-svn-id: trunk@15328 -
2010-05-26 20:14:08 +00:00
marco
462cb65726 * Several dword_ptr fixes triggered by mantis 16524
git-svn-id: trunk@15299 -
2010-05-20 19:39:54 +00:00
paul
714a7e82d7 rtl: add UDS_HOTTRACK style
git-svn-id: trunk@15234 -
2010-05-06 01:16:44 +00:00
florian
fecd661bcb * fixed COPYDATASTRUCT as suggested by Dmitry Boyarintsev, resolves #16321
git-svn-id: trunk@15166 -
2010-04-24 17:21:55 +00:00
marco
6a7bc76ca0 * later SM_ constants for getmetrics mantis 16138
git-svn-id: trunk@15089 -
2010-03-29 11:25:26 +00:00
marco
8cce3d3f91 * closethread thread manager field/function. Mantis 13160
git-svn-id: trunk@15072 -
2010-03-26 23:31:52 +00:00
marco
c477df5046 * TCriticalSection.Tryenter support (Mantis 15928) + short test/demo
tested on FreeBSD (general Unix) and Windows. Note that Haiku seems 
    to have a native threadmgr rather than the Unix one. Will notify 
    maintainer (Olivier)

git-svn-id: trunk@15026 -
2010-03-21 11:34:05 +00:00
marco
be98b13554 * fix for 11263, changed fileread and fd_zero to out using $modeswitch.
git-svn-id: trunk@14965 -
2010-03-01 22:35:14 +00:00
marco
4ee7f3adee * fix for mantis 15865 add hmonitor
git-svn-id: trunk@14953 -
2010-02-28 12:38:17 +00:00
Tomas Hajny
5c31042f6a * SharedSuffix moved to include files to reduce number of ifdefs
git-svn-id: trunk@14902 -
2010-02-13 15:44:12 +00:00
marco
ef4954f8d9 * Pascal version for asm code in video (Mantis 15700)
git-svn-id: trunk@14901 -
2010-02-13 15:37:07 +00:00
marco
da19c48e05 * initial x86_64 code for compare videobuffer. To be tested later. Mantis 15700
git-svn-id: trunk@14900 -
2010-02-13 14:30:07 +00:00
marco
54b15ba318 * tcursorinfo incorrectly was aliassed to console_cursor_info, which is incorrect for
getcursorinfo in redef.inc. Added cursor_info structs as per MSDN. Mantis 15745

git-svn-id: trunk@14898 -
2010-02-13 14:06:08 +00:00
marco
689094646e * image_file_machine constants
git-svn-id: trunk@14646 -
2010-01-14 20:28:58 +00:00
marco
8e9a7e14ad * Revised yesterday solution to a more general one. Executeprocess gets
another parameter, a set type with flags, default = []

git-svn-id: trunk@14572 -
2010-01-07 20:49:28 +00:00
florian
3f17af3437 * patch by taka_jp to set SysLocale.PriLangID on windows properly, resolves #14872
git-svn-id: trunk@14570 -
2010-01-07 20:06:24 +00:00
florian
e6648da567 * make heaptrc aware of the fact that multi threading could be initialized before heaptrc itself is initialized, this is currently the case for windows dlls
git-svn-id: trunk@14560 -
2010-01-07 13:41:43 +00:00
florian
fb07fe5856 * always assume a multithreaded application when using threadvars in dlls, resolves #14992
git-svn-id: trunk@14557 -
2010-01-06 21:26:49 +00:00
marco
0b4b9b5220 * Windows specific overloads for ExecuteProcess that implements a hack for redir that exists for dos.exec too.
.. but then not using a global variable

git-svn-id: trunk@14556 -
2010-01-06 19:50:09 +00:00