Commit Graph

206 Commits

Author SHA1 Message Date
michael
032528115f * Patch from Mattias Gaertner to improve quicksort memory use (Bug 22119)
git-svn-id: trunk@21386 -
2012-05-24 19:18:44 +00:00
michael
0aa0d3f584 * Applied cleanup patch from Luiz Americo (Bug 21771)
git-svn-id: trunk@20867 -
2012-04-14 14:52:33 +00:00
michael
1eca76dec5 * No change when clearing empty collection
git-svn-id: trunk@20780 -
2012-04-10 08:04:34 +00:00
michael
d3fa1b4979 * Fix for bug #21691
git-svn-id: trunk@20779 -
2012-04-10 07:49:40 +00:00
michael
ab0a7d096c * Overloaded AddStrings
git-svn-id: trunk@20691 -
2012-04-02 11:22:02 +00:00
marco
05999225a3 * Patch for referenceinterface by C. Peterson to properly add to the freenotification list, Mantis #20808
git-svn-id: trunk@20616 -
2012-03-24 17:28:10 +00:00
florian
a7fe7b5d06 * patch by cobines to improve speed of TFPList.Move, resolves #21436
git-svn-id: trunk@20606 -
2012-03-23 20:16:03 +00:00
michael
0d545c68de * Call getOwner only once in several TPersistent methods (Patch from Luiz Americo, bug #21531)
git-svn-id: trunk@20574 -
2012-03-22 14:49:43 +00:00
michael
d1b209025f * Applied patch from Luiz Amerigo to have Delphi compatible behaviour when freeing a stringlist (bug 21529)
git-svn-id: trunk@20570 -
2012-03-22 12:10:06 +00:00
marco
b956e9e52d * add a check to TRecall.store for FStorage=nil. Patch by Luiz, Mantis #21404
git-svn-id: trunk@20462 -
2012-03-02 09:43:12 +00:00
marco
39bc3b9dcf * remove empty override tpersist.destroy(), patch by Luiz Americo, Mantis #21387
git-svn-id: trunk@20460 -
2012-03-01 21:47:32 +00:00
sergei
4b5c8bcac2 * Access VMT members using TVmt record instead of pointer manipulations.
* Check FieldTable<>nil before dereferencing. It should be nil if class doesn't have published fields, but currently compiler always generates field table. This produces redundant data and isn't Delphi compatible, therefore it's subject to fix.
* Use ClassNameIs to check the class name instead of doing case-insensitive comparing manually.

git-svn-id: trunk@20305 -
2012-02-11 10:16:50 +00:00
michael
723482c814 * Correctly free objects when destroying stringlist instance
git-svn-id: trunk@20265 -
2012-02-05 19:55:21 +00:00
michael
9fc66414b5 * Avoid code duplication in TFileStream.Create
git-svn-id: trunk@19628 -
2011-11-11 17:32:17 +00:00
florian
cd2488d177 * fix compilation on 64 Bit targets
git-svn-id: trunk@19393 -
2011-10-06 17:54:44 +00:00
paul
7817f5017d rtl: add TBytesStream class for compatibility with delphi (TStringStream is a descendant of TBytesStream) + test
git-svn-id: trunk@19389 -
2011-10-06 04:41:10 +00:00
michael
d766e671a9 * Remove using reverse search, speed up free
git-svn-id: trunk@19280 -
2011-09-29 07:59:10 +00:00
michael
4a8914cbb0 * Implemented IndexOfItem, reversed search again in IndexOf
git-svn-id: trunk@19279 -
2011-09-29 07:50:24 +00:00
michael
39d8ee1136 * Reverse IndexOf. Increases speed of freeing collection with a factor N^2
git-svn-id: trunk@19268 -
2011-09-28 17:44:32 +00:00
marco
47af891513 * change resourcestream.handle from thandle to TPFResourceHGlobal, since it is
a pointer, and handle is a 32-bit integer on 64-bit *nix.

git-svn-id: trunk@19042 -
2011-09-10 10:00:27 +00:00
michael
96e5333dc2 * Added fakeSeekForward for benefit of descendant streams.
* Override GetSize/Position for memory/stringstream for efficiency
* Added InvalidSeek exception throwing. Should be overridden to throw custom exceptions.

git-svn-id: trunk@18190 -
2011-08-13 18:45:48 +00:00
michael
0d14fc2851 * Second patch from Mattias Gaertner (bug 19623, should fix 19633 as well)
git-svn-id: trunk@17845 -
2011-06-27 18:34:25 +00:00
michael
b98270d27c * Undo 17822 - causes resource compilation errors in lazarus
git-svn-id: trunk@17842 -
2011-06-27 08:18:30 +00:00
michael
a2d007dfa3 * Applied patch from Mattias Gaertner to fix parse buffer not always being loaded (bug 19623)
git-svn-id: trunk@17823 -
2011-06-25 10:58:34 +00:00
michael
fd491e8647 * Fixed permissions on file create
git-svn-id: trunk@17560 -
2011-05-26 07:02:42 +00:00
michael
a201f07420 * Added share mode argument to FileCreate call
git-svn-id: trunk@17548 -
2011-05-23 21:11:07 +00:00
paul
812a665cbe rtl: don't crash if resource is not found in TResourceStream and was passed by ID instead of Name (in this case exception tried to get a string from ID)
git-svn-id: trunk@17173 -
2011-03-24 03:44:26 +00:00
marco
32a7502f38 * Change TProxyStream.seek to 64-bit variant.
git-svn-id: trunk@17093 -
2011-03-08 15:13:53 +00:00
sergei
41aeb9a22b * Rework TStream.CopyFrom (see Mantis #17980):
a) Use significantly larger buffer (128k instead of 1k)
b) When Count=0, do not try to determine the source size. Just copy until the source can be read. This should improve performance with limited seek capability sources (e.g. a decompression stream will be decompressed once rather than twice).
c) Use ReadBuffer/WriteBuffer, so an exception is raised when something goes wrong. This conforms to Delphi behavior.

git-svn-id: trunk@16992 -
2011-02-24 03:25:40 +00:00
michael
fa0454afe2 * Fixed references to sub components (mantis #18021)
git-svn-id: trunk@16448 -
2010-11-26 14:51:43 +00:00
michael
c4cc9b59e0 * Tag is now PtrInt, for upcoming Delphi 64-bit compatibility
git-svn-id: trunk@16408 -
2010-11-23 21:19:39 +00:00
michael
a1d8ad7a27 * Changed var to out in TStringList.Find
git-svn-id: trunk@16395 -
2010-11-21 18:20:44 +00:00
sergei
907e7a32d5 * GetFileHandle(), THandleStream: changed type that is used to store file handle from Integer to THandle, so it can be redefined to 64 bits on certain platforms, see http://lists.freepascal.org/lists/fpc-devel/2010-November/023019.html
git-svn-id: trunk@16383 -
2010-11-20 12:58:53 +00:00
marco
71aa7eaabd * fix from mantis 17818. Value is only peaked, add readvalue to also consume it.
git-svn-id: trunk@16301 -
2010-11-03 20:45:01 +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
sekelsenmat
8b6e8079ec Fixes a potential crash in TStrings.SaveToStream
git-svn-id: trunk@16187 -
2010-10-19 15:50:13 +00:00
joost
07bf44517c * Merged XPCom branch into trunk, added support for constref and changed
the IInterface implementation to be XPCom-compatible
--- Merging r15997 through r16179 into '.':
U    rtl/inc/variants.pp
U    rtl/inc/objpash.inc
U    rtl/inc/objpas.inc
U    rtl/objpas/classes/persist.inc
U    rtl/objpas/classes/compon.inc
U    rtl/objpas/classes/classesh.inc
A    tests/test/tconstref1.pp
A    tests/test/tconstref2.pp
A    tests/test/tconstref3.pp
U    tests/test/tinterface4.pp
A    tests/test/tconstref4.pp
U    tests/webtbs/tw10897.pp
U    tests/webtbs/tw4086.pp
U    tests/webtbs/tw15363.pp
U    tests/webtbs/tw2177.pp
U    tests/webtbs/tw16592.pp
U    tests/tbs/tb0546.pp
U    compiler/sparc/cpupara.pas
U    compiler/i386/cpupara.pas
U    compiler/pdecsub.pas
U    compiler/symdef.pas
U    compiler/powerpc/cpupara.pas
U    compiler/avr/cpupara.pas
U    compiler/browcol.pas
U    compiler/defcmp.pas
U    compiler/powerpc64/cpupara.pas
U    compiler/ncgrtti.pas
U    compiler/x86_64/cpupara.pas
U    compiler/opttail.pas
U    compiler/htypechk.pas
U    compiler/tokens.pas
U    compiler/objcutil.pas
U    compiler/ncal.pas
U    compiler/symtable.pas
U    compiler/symsym.pas
U    compiler/m68k/cpupara.pas
U    compiler/regvars.pas
U    compiler/arm/cpupara.pas
U    compiler/symconst.pas
U    compiler/mips/cpupara.pas
U    compiler/paramgr.pas
U    compiler/psub.pas
U    compiler/pdecvar.pas
U    compiler/dbgstabs.pas
U    compiler/options.pas
U    packages/fcl-fpcunit/src/testutils.pp

git-svn-id: trunk@16180 -
2010-10-17 20:58:22 +00:00
marco
a680c63950 * TThread.Resume and suspend deprecated (see user changes trunk)
git-svn-id: trunk@16171 -
2010-10-15 22:15: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
marco
6ebda8f2cc * D2009 compat: TStringList.OwnsObjects
git-svn-id: trunk@16058 -
2010-09-28 14:52:44 +00:00
michael
4d2786d238 * Patch from Luiz americo to use FPList where possible
git-svn-id: trunk@15663 -
2010-07-30 09:06:18 +00:00
Jonas Maebe
0207e5f8cd * fixed windows compilation after r15599
git-svn-id: trunk@15606 -
2010-07-19 09:24:26 +00:00
Jonas Maebe
d7cdd9afba * allow tthread-based threads to only start executing once the constructor
has finished running (based on patch by Jared Davison, mantis #16884)

git-svn-id: trunk@15599 -
2010-07-18 16:31:25 +00:00
marco
d8707ec5d3 * hmodule should scale with pointertype on non-windows.
git-svn-id: trunk@15510 -
2010-07-02 20:08:05 +00:00
michael
037c783442 * Patch from Mattias gaertner to support lazarus lfm encoding in TParser
git-svn-id: trunk@15415 -
2010-06-12 20:54:33 +00:00
michael
561972e0fc * Added TDataModuleClass class pointer
git-svn-id: trunk@15353 -
2010-05-31 09:53:18 +00:00
Jonas Maebe
c67712f81f + tthread.start method, simply calls tthread.resume for now (mantis #16326)
git-svn-id: trunk@15165 -
2010-04-24 14:52:08 +00:00
paul
a1d94c6829 rtl: implement TStreamAdapter.CopyTo, .SetSize, return proper error value for Clone instead of raising exception (#0016161) + test
git-svn-id: trunk@15138 -
2010-04-11 12:52:31 +00:00
paul
17687d90ce rtl: minor changes for TStreamAdapter:
- return STG_E_INVALIDPOINTER instead of E_INVLIDARG for Read,Write as msdn requires
  - return STG_E_INVALIDFUNCTION instead of E_INVLIDARG for Seek as msdn requires

git-svn-id: trunk@15127 -
2010-04-10 17:50:29 +00:00
michael
bc735a639f * Call specialchars in TStringList constructor
git-svn-id: trunk@15116 -
2010-04-08 06:51:26 +00:00