Commit Graph

30515 Commits

Author SHA1 Message Date
marco
a10f94a50a * Marquee patch from Paul + some Vista PBM_ constants.
git-svn-id: trunk@13201 -
2009-05-27 07:29:04 +00:00
sergei
cf98a19e8e + Implementation of TDOMDocument.CreateAttributeNS and CreateElementsNS
+ Initial part of TDOMElement.SetAttributeNS
+ TDOMImplementation.CreateDocumentType checks validity of QualifiedName
* Use 'managed' memory allocation in TDOMEntity.CloneNode and TDOMNotation.CloneNode to avoid leaks
* TDOMDocument.RemoveID now using THashTable.RemoveData(), simplifies things

git-svn-id: trunk@13200 -
2009-05-26 22:14:21 +00:00
marco
92e235d92b * tmschema as include file added at Paul's request
git-svn-id: trunk@13199 -
2009-05-26 16:54:49 +00:00
Jonas Maebe
dc00a747f4 * make references PIC-safe before pushing them as parameter (mantis #13829)
git-svn-id: trunk@13198 -
2009-05-26 16:22:41 +00:00
marco
ffc2750cd0 * uxtheme moved from Lazarus.
* Disabled (ifdeffed) lock around init/finalization because of circular
    reference between fcl-base and winunits-base. If needed it can be
    recoded directly using system specific (windows.pas) routines.

git-svn-id: trunk@13197 -
2009-05-26 12:24:58 +00:00
sergei
55e3c6be3a dom.pp: No more failures on level 1 testsuite... at last.
+ Implemented handling of default attributes:
  * creating an element also creates and attaches the default attributes;
  * removing an attribute restores it with default value, if there's one.
+ Attribute nodes remove themselves from the owner element upon destruction, making it possible
  to Free attributes manually.
* TDOMNamedNodeMap.SetNamedItem does not reset attribute OwnerElement if the argument node is already
  contained in the map (and whole operation is therefore is a no-op).

git-svn-id: trunk@13196 -
2009-05-25 20:28:40 +00:00
Jonas Maebe
966ebbf157 * fixed missing reference counting in case a refcounted type was implicitly
type casted to a non-refcounted type, e.g. dynarray to pointer in Delphi
    mode (mantis #13820)

git-svn-id: trunk@13195 -
2009-05-25 19:41:14 +00:00
Jonas Maebe
17a7903e60 * fixed evaluating "nil +/- int_const" expressions (mantis #13815)
git-svn-id: trunk@13194 -
2009-05-25 18:34:04 +00:00
Jonas Maebe
1456e82a6a * make sure example also works without an application bundle
git-svn-id: trunk@13193 -
2009-05-24 12:26:38 +00:00
Jonas Maebe
7f0631d311 * again made less complex in case of PIC, otherwise it fails
git-svn-id: trunk@13192 -
2009-05-24 12:25:33 +00:00
Jonas Maebe
78c29a33ba * changed the parameters of gotoxy() and the return values of wherex/wherey
from byte into tcrtcoord=1..255, since all crt unit coordinates are
    1-based (not for Window() procedure, see comments in crth.inc;
    mantis #13788)

git-svn-id: trunk@13191 -
2009-05-24 11:48:49 +00:00
joost
d39e82b256 * Fixed resource-leak on exceptions during creating/dropping databases, patch from taka_jp, bug #13587
git-svn-id: trunk@13190 -
2009-05-24 11:20:45 +00:00
joost
2435a4a48f * Modified patch from taka_jp to set the connection-dataset for mysql, bug #13588.
git-svn-id: trunk@13189 -
2009-05-24 11:17:59 +00:00
marco
82b9749e71 * thread creation failure for win<x>. Mantis 13798
git-svn-id: trunk@13188 -
2009-05-23 15:40:13 +00:00
Jonas Maebe
2dfb0d711b * fixed calling Objective-C methods that return records via implicit
reference

git-svn-id: branches/objc@13187 -
2009-05-23 15:07:25 +00:00
Jonas Maebe
c40d6cca8b + Darwin-specific fcntl constants
git-svn-id: trunk@13186 -
2009-05-23 10:10:56 +00:00
sergei
733d2c38d5 dom.pp: Customized memory management, fixes 17 test cases and all memory leaks in testsuite:
* Every node created by Document.CreateXXX method is now guaranteed to be destroyed with the
  document, whether it is part of the tree or not. Therefore, DOM methods which remove nodes
  from the tree (namely, TDOMNode.RemoveChild, TDOMNode.ReplaceChild,
  TDOMElement.SetAttributeNode and TDOMElement.SetAttributeNodeNS) no longer need to destroy
  their return value and are now conformant to the specs.
* Nodes are allocated in arrays of instances (emulates 'placement new operator' in C++ terms).
  Allocation and freeing are as fast as possible (just assigns a couple of pointers).
* Behaviour of nodes that are created by direct call to constructor is unchanged.

git-svn-id: trunk@13185 -
2009-05-21 23:07:32 +00:00
sergei
d3dd0d6aa0 dom.pp: Added node memory management code (pure addition, no functionality changes this time).
git-svn-id: trunk@13184 -
2009-05-21 20:45:16 +00:00
marco
8fe555afca * some minor vista/w7 related updates to message numbers
git-svn-id: trunk@13183 -
2009-05-21 14:11:16 +00:00
marco
ec364a66e8 * win64 compatibility fix from Vincent. TLibHandle is now equal to system.thandle
git-svn-id: trunk@13182 -
2009-05-21 11:26:54 +00:00
Jonas Maebe
ee69d00bec - unconditionally enabled {$ifdef PARAOUTFILE}-code (that define was
decomissioned quite a while ago, but this file was forgotten in
    that process)

git-svn-id: trunk@13181 -
2009-05-21 09:57:45 +00:00
sergei
035fe43b72 Final strike for #13605:
src/dom.pp:
* GetElementsByTagName[NS] results now get cached in a hashtable. Repeated calls to
  GetElementsByTagName with same arguments return the same instance of NodeList. All NodeLists
  created during document lifetime are destroyed with the document.

src/xmlutils.pp:
* THashTable.Lookup(), changed SetString to SetLength+Move because SetString truncates on #0
+ added THashTable.RemoveData() method

tests/api.xml:
- No longer need to 'garbage collect' the NodeLists.

git-svn-id: trunk@13180 -
2009-05-20 23:08:24 +00:00
Jonas Maebe
27afdbf94a * fixed check for forbidding constructors/destructors in objcclasses + tests
git-svn-id: branches/objc@13179 -
2009-05-19 20:24:55 +00:00
Jonas Maebe
27b3689f60 * message file changes from r13177
git-svn-id: branches/objc@13178 -
2009-05-19 20:22:51 +00:00
Jonas Maebe
ba2c2cd449 * don't automatically set the parent class of objcclasses without a
designated parent to NSObject, because you can have multiple root classes
    (e.g., NSProxy is also an Objective-C root class in Cocoa). Instead,
    give a hint when an Objective-C class is declared without any parent
    (because it can very well be a mistake, given that Pascal classes all
    do automatically inherit form TObject).

git-svn-id: branches/objc@13177 -
2009-05-19 20:19:11 +00:00
sergei
17bbe72d08 * Moved TDOMAttrDef class from xmlread.pp to dom.pp (in order to implement default attribute handling at DOM level).
* Using regular CloneNode() method to create copies of TDOMAttrDef.

git-svn-id: trunk@13176 -
2009-05-18 22:03:37 +00:00
sergei
0a242ba49f dom.pp: Ignore node read-only property when its owning document is being destroyed (enables destroying nodes in arbitrary order).
git-svn-id: trunk@13175 -
2009-05-18 20:33:43 +00:00
Jonas Maebe
5691da116f * replace the contents of the dummy self and msgsel parameters when
transforming objc-calls, rather than adding new such parameters
    (fixes calling objc-methods on ppc)

git-svn-id: branches/objc@13174 -
2009-05-18 15:13:36 +00:00
sergei
6049600ccb DOM test suite enhancements:
* Do not convert tests which request implementation attribute 'signed'='true'.
  Such tests aren't applicable to our unsigned DOM, they only cause compiler warnings
  and noise in the test report.
+ Support for default properties (obj.item(x) -> obj[x]).
+ Support black-listing of testcases. Some of them (in HTML testsuite) are easier to
  rewrite by hand than to convert.
+ Support adding certain units to 'uses' clause (e.g. HTML suite must use dom_html).

git-svn-id: trunk@13172 -
2009-05-17 22:56:51 +00:00
Jonas Maebe
ddc7c6ed35 * limited to darwin/ppc and darwin/i386
- removed unused ctypes unit

git-svn-id: branches/objc@13171 -
2009-05-17 20:06:58 +00:00
Jonas Maebe
112ea5e5a8 * made all objcclasses assignment-compatible with id, and vice versa
git-svn-id: branches/objc@13170 -
2009-05-17 20:04:43 +00:00
Jonas Maebe
a63d4e3ad0 * fixed indentation
git-svn-id: branches/objc@13169 -
2009-05-17 20:03:52 +00:00
marco
501f20c546 * reversed destruction order of TFPObjectList as per Mantis 13715.
Note that it is _NOT_ good coding to rely on such things

git-svn-id: trunk@13168 -
2009-05-17 17:09:26 +00:00
Jonas Maebe
3d771a7d39 * when loading the functions for a particular OpenGL function, also
automatically load those for lower versions (patch by "satan", mantis
    #13687)

git-svn-id: trunk@13167 -
2009-05-17 16:01:13 +00:00
marco
b5985d7e7c * gtk_cell_renderer_combo_new returns gtkcellrenderer not -combo (mantis 13689),
probably to support some kind of procedural polymorphism.

git-svn-id: trunk@13166 -
2009-05-17 15:37:27 +00:00
Jonas Maebe
bbfd8812c9 * small fixes from Karl-Michael Schindler (mantis #13048)
git-svn-id: trunk@13165 -
2009-05-17 14:50:44 +00:00
Jonas Maebe
84cdb246fa * copyright in comments updated (from mantis #13048)
git-svn-id: trunk@13164 -
2009-05-17 14:42:17 +00:00
Jonas Maebe
b59d1f724b * support {$i *.ext} to include source files with the same base name, but
with a different extension than the current source file (mantis #13696)

git-svn-id: trunk@13163 -
2009-05-17 14:33:20 +00:00
Jonas Maebe
b1b9894ae3 * initial Objective-C 1.0 support:
o support for declaring external Objective-C classes (see
      rtl/inc/objcbase.pas), including derived classes
    o support for converting methods of objcclasses into selectors
      (see tests/test/tobjc1.pp)
    o support for loading from/storing to fields of objcclasses
    o support for calling Objective-C methods using regular
      Object Pascal syntax (see tests/test/tobjc1.pp)
    o some things that are known to be not yet working:
      o automatic conversion from ID to objcclasses and back
      o declaring and implementing new objcclasses/methods in Pascal code
      o debug information (objcclasses are currently plain pointers
        as far as the debugger knows)

git-svn-id: branches/objc@13162 -
2009-05-17 13:42:50 +00:00
Jonas Maebe
4aaee17941 Initialized merge tracking via "svnmerge" with revisions "1-13155" from
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk

git-svn-id: branches/objc@13161 -
2009-05-17 13:11:55 +00:00
yury
9a0808d0fb * Set default image base for win64 dlls to $110000000.
git-svn-id: trunk@13160 -
2009-05-17 12:47:26 +00:00
yury
bf00b3e94b * Replaced some ifdef x86_64 by ifdef cpu64bitaddr, since it is more correct.
git-svn-id: trunk@13159 -
2009-05-17 12:43:58 +00:00
marco
c0aa309cde * Fix for gdb66/mingw (general?) program reset issue. Instructs GDB to turn confirmation off. Mantis 0011968
git-svn-id: trunk@13158 -
2009-05-17 12:43:57 +00:00
marco
39afd88425 * mingw textmode IDE debugging support. First working version (for me), atexit handler for mingw and cygwin stuff under ifndef USE_MINGW_GDB
git-svn-id: trunk@13157 -
2009-05-17 12:22:41 +00:00
Jonas Maebe
96a835a2f8 * branch for Objective-C integration
git-svn-id: branches/objc@13156 -
2009-05-17 11:00:04 +00:00
Jonas Maebe
4106ce540f * fixed compilation with -Cr after r13147
* changed type of minstacksize, maxstacksize and imagebase from aword
    (= size of integer registers of the target platform) into puint
    (= size of address space of target platform)

git-svn-id: trunk@13155 -
2009-05-17 10:07:54 +00:00
mazen
f7ec6481cf * Source code and XLM files could not be executable.
git-svn-id: trunk@13154 -
2009-05-16 13:15:48 +00:00
marco
55bf970d0b * small mingw related fixes.
git-svn-id: trunk@13153 -
2009-05-16 12:00:51 +00:00
Jonas Maebe
3a8b29be91 + test conversion from class to differently sized enum and to differently
sized integer (succeed for Delphi, fail for objfpc)
  * fixed compiler so it only allows typecasting a class/interface to a
    differently sized integer in Delphi mode

git-svn-id: trunk@13152 -
2009-05-16 11:07:09 +00:00
Jonas Maebe
47c28c2db3 * pass -no_dead_strip_inits_and_terms to the linker, since we use these for
dynamic library initialization (this automatically enables dead code
    stripping/smart linking in all cases though, independent of -XX/CX;
    on the other hand, there is no real reason not to use it anymore on
    Mac OS X, since support was introduced in Xcode 1.5 for
    Mac OS X 10.3.9 and that's also the earliest version we support
    for running FPC on)

git-svn-id: trunk@13151 -
2009-05-16 10:42:23 +00:00