Commit graph

16661 commits

Author SHA1 Message Date
Alex Ionescu
7ed06b56e6 - Use Rtl macros instead of manually handling the cases.
svn path=/trunk/; revision=17704
2005-09-06 19:38:51 +00:00
Alex Ionescu
dc86bfb861 - Fix the sad sad definition of sizeof(ANSI_NULL) which returned 4...
svn path=/trunk/; revision=17703
2005-09-06 19:37:38 +00:00
Gé van Geldorp
38a02c040e Fix release build
svn path=/trunk/; revision=17702
2005-09-06 19:21:42 +00:00
Gé van Geldorp
8afef2bda9 Shut up some debug messages
svn path=/trunk/; revision=17701
2005-09-06 18:07:46 +00:00
Alex Ionescu
31a759e85c - Use DDK macros to speed up size calculations on single-byte codepages.
svn path=/trunk/; revision=17700
2005-09-06 17:33:56 +00:00
Alex Ionescu
a2af287dd8 - Remove deprecated zwtypes.h and spread out the types in the NT subsystems where they should go.
svn path=/trunk/; revision=17699
2005-09-06 15:57:42 +00:00
Gunnar Dalsnes
a2c34e3c28 window parent handle -> pointer adaptions
svn path=/trunk/; revision=17698
2005-09-06 14:19:03 +00:00
Gunnar Dalsnes
a1c7e10fc8 make window parent a pointer + fix usage
svn path=/trunk/; revision=17697
2005-09-06 14:09:22 +00:00
Gunnar Dalsnes
e51f10ab47 remove WndObjListLock
svn path=/trunk/; revision=17696
2005-09-06 13:36:04 +00:00
Gunnar Dalsnes
781981aa5f naming changes:
-remove annying "Object" from variables. prepend handles with "h" instead.
-rename window->Self -> Window->hSelf

svn path=/trunk/; revision=17695
2005-09-06 11:00:27 +00:00
Gunnar Dalsnes
4e5ef38048 make handle table session global
svn path=/trunk/; revision=17694
2005-09-06 10:05:31 +00:00
Gunnar Dalsnes
5d3bcdcc13 move object.c and ssec.c into ntuser where they belong
svn path=/trunk/; revision=17693
2005-09-06 09:35:39 +00:00
Gunnar Dalsnes
65123629f5 forgot a file:-| sry
svn path=/trunk/; revision=17692
2005-09-06 07:58:43 +00:00
Alex Ionescu
d1f19a8802 - Add missing decoration to Zw*
svn path=/trunk/; revision=17691
2005-09-06 06:44:34 +00:00
Alex Ionescu
870c588c1e - Handle RtlYyyStringToZzzStringSize->RtlxYyyStringtoZzzStringSize correctly so that the MSDDK macros can work and be added to the NDK/gnu ifs
svn path=/trunk/; revision=17690
2005-09-06 06:30:49 +00:00
Alex Ionescu
80b6230b45 A couple more fixes to prepare for the final patch
svn path=/trunk/; revision=17689
2005-09-06 06:19:30 +00:00
Alex Ionescu
28ab27fe87 - Use inlined functions like MSDDK.
svn path=/trunk/; revision=17688
2005-09-06 05:58:48 +00:00
Alex Ionescu
66711d6344 - Some more MSDDK/IFS compatibility fixes.
svn path=/trunk/; revision=17687
2005-09-06 05:30:39 +00:00
Gunnar Dalsnes
58f5ea229a remove window update lock
svn path=/trunk/; revision=17686
2005-09-06 00:34:23 +00:00
Gunnar Dalsnes
771f9106f8 remove user handle table lock, cursor locks, message queue locks, hook lock
svn path=/trunk/; revision=17685
2005-09-05 23:11:41 +00:00
Gunnar Dalsnes
fd26bfbd6d remove relatives lock, window props lock, classes locks, thread window lock, menu locks
svn path=/trunk/; revision=17684
2005-09-05 22:39:29 +00:00
Gé van Geldorp
eae95884a8 Sync to Wine-20050830:
Robert Shearman <rob@codeweavers.com>
- Don't free previous buffer in NdrGetBuffer.
- Add stubs for NdrMapCommAndFaultStatus, conformant string marshaling
  and context handle functions.
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
Mike McCormack <mike@codeweavers.com>
- Fix some gcc 4.0 warnings.

svn path=/trunk/; revision=17683
2005-09-05 22:20:04 +00:00
Gé van Geldorp
2372be838c Sync to Wine-20050830:
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllInstall and DllGetVersion with the dll
  name so that the compiler can check the prototypes.
- riched32 doesn't need an import library.

svn path=/trunk/; revision=17682
2005-09-05 22:09:45 +00:00
Gé van Geldorp
4e74b68be8 Sync to Wine-20050830:
Phil Krylov <phil@newstar.rinet.ru>
- Added support for backward search to RichEdit EM_FINDTEXT[AW],
  EM_FINDTEXTEX[AW] message handler.
- Fixed EM_SETEVENTMASK RichEdit message handler to return old event
  mask.
- Added handling of deff RTF control word.
- Added common keyboard shortcuts for Select All, Undo, Redo, Cut, Copy
  and Paste to RichEdit.
- Automatically set default font after parsing a font table in RichEdit
  RTF reader.
- Fixed EM_EXLINEFROMCHAR to work for last row of a paragraph.
- Fixed UTF-8 RTF parsing.
- Fixed a bug in EM_STREAMOUT RichEdit message handler which truncated
  some streamed text.
- Generate ending \par in RTF output of RichEdit when streaming out a
  whole document.
- Fixed a RichEdit RTF reader bug which resulted in loss of text.
  Eliminated unneeded recursion in ME_InsertTextFromCursor().
- Implemented EM_CHARFROMPOS RichEdit message.
- Added EM_SETRECT, EM_SETRECTNP, and WM_SETREDRAW message handling.
  Added support for GT_SELECTION flag in EM_GETTEXTEX handler.
Mike McCormack <mike@codeweavers.com>
- gcc 4.0 warning fixes for Interlocked* functions.

svn path=/trunk/; revision=17681
2005-09-05 22:07:52 +00:00
Gé van Geldorp
76e03f2541 Correct eol-style and remove unused file
svn path=/trunk/; revision=17680
2005-09-05 22:03:31 +00:00
Gé van Geldorp
52a92a993f Sync to Wine-20050830:
Francois Gouget <fgouget@free.fr>
- Change some Dll* functions so they are exported by name like on
  Windows.
  Update the documentation accordingly.
Robert Shearman <rob@codeweavers.com>
- Remove redundant QueryInterface in marshal_interface - the object is
  always queried later on for the correct interface of the object.
- Make sure to Release the marshaled pointer in the typelib marshaler
  once it is no longer required.
- Shunt some trace statements over to the typelib channel that aren't
  really much use except in debugging typelib parsing.
- Make sure to release a reference to being returned as VariantCopyInd
  takes one for us.
- Revert to previous behaviour of detecting names with non-alphanumeric
  characters as ones with offsets, but add in a special case for an
  empty name.
- A name in an SLTG typelib only beginning with 0xff is the indicator
  of an offset, instead of any non alpha-numeric character.
- Any dispatch interface should have the fixed vtable size, not just
  dual ones.
- Warn when ITypeInfo_GetDocumentation fails.
- Make typelib marshaler use IRpcChannelBuffer::GetBuffer if possible.
Alexandre Julliard <julliard@winehq.org>
- Replace the ICOM_THIS_From macros by inline functions.
- Moved a number of definitions that are not needed in other files into
  vartype.c
- Removed some unnecessary macros, and make some functions static.
- Get rid of the almost empty tmarshal.h file.
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Uniformize DllMain TRACEing across dlls.
Mike McCormack <mike@codeweavers.com>
- Fix gcc 4.0 warnings.
- gcc 4.0 warning fixes.
Michael Stefaniuc <mstefani@redhat.de>
- Implement IPicture::get_hPal for PICTYPE_BITMAP.
- VarAdd, VarMul: I4 overflows to R8 and not I8 even if the result
  would fit in I8. Fix tests.
- Document a brokeness in the handling of I8 numbers in
  VarNumFromParseNum. Fix tests.
Walt Ogburn <reuben@ugcs.caltech.edu>
- When applying logical / himetric ratio to olefont sizes, must divide
  by the standard ratio 72 / 2540.

svn path=/trunk/; revision=17679
2005-09-05 22:00:07 +00:00
Gé van Geldorp
05aeafcb9c Sync to Wine-20050830:
Francois Gouget <fgouget@free.fr>
- Use LPSTORAGE to better match the PSDK.
  Document the real SEGPTR type using the standard documentation
  mechanisms. Fixes winapi_check warnings.
Robert Shearman <rob@codeweavers.com>
- Remove unused thread handle entry from the apartment structure.
- Implement IMarshal on proxies so that we don't end up with proxies
  to proxies, causing potential deadlock issues and performance
  problems.
- Add a test for this situation and remove the todo_wine from another
  test that now succeeds.
- Add stub for CoAllowSetForegroundWindow.
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Remove local declarations already in included public headers.
- Correct mismatches between spec files and comments about export
  number.
Alexandre Julliard <julliard@winehq.org>
- Uncomment the typedef in the DECLARE_INTERFACE macro, and get rid of
  duplicate typedefs.
- Use the proper WOW functions everywhere instead of the K32WOW variant.
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
- Remove duplicate definition of FILE_BEGIN.
- Replace the _ICOM_THIS_From macros by inline functions the way it's
  already done in shelllink.c.
Mike McCormack <mike@codeweavers.com>
- Warning fixes for gcc 4.0.
- Fix some gcc 4.0 warnings.
- return a precomputed result for a NULL string
- pass strlen an LPSTR to eliminate a sign warning
Marcus Meissner <marcus@jet.franken.de>
- Implemented ILockBytes16 (memorystream) support for the 16bit compound
  storage implementation.
- Added ReadClassStg, OleDoAutoConvert, GetConvertStg
  implementations/stubs.
Marcus Meissner <meissner@suse.de>
- Added CoCreateInstance16, CoGetClassObject16, OleLoad16 stubs.

svn path=/trunk/; revision=17678
2005-09-05 21:56:14 +00:00
Gé van Geldorp
c9c505d02f Import from vendor drop
svn path=/trunk/; revision=17677
2005-09-05 21:47:21 +00:00
Gé van Geldorp
110a4ff7fc Delete existing objsel to prepare for vendor import
svn path=/trunk/; revision=17676
2005-09-05 21:44:11 +00:00
Hartmut Birr
b5a7931c86 Revert my last commit.
svn path=/trunk/; revision=17674
2005-09-05 21:39:59 +00:00
Gé van Geldorp
a9179e7930 Sync to Wine-20050830:
Francois Gouget <fgouget@free.fr>
- Change some Dll* functions so they are exported by name like on
  Windows.
  Update the documentation accordingly.
Johan Dahlin <jdahlin@async.com.br>
- Implemented MsiSetComponentState*.
- Added stubs for MsiSetComponentStateA and MsiSetComponentStateW.
- Added a null check for component.
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
Vincent Beron <vberon@mecano.gme.usherb.ca>
- Correct mismatches between spec files and comments about export
  number.
Aric Stewart <aric@codeweavers.com>
- Display the correct text string in the action text field for the
  dialog boxes. Also the string should be deformatted.
- Make index INT not UINT because it can be -1.
- Fixed a memory overflow and leak identified by Mike McCormack.
- Add some body to ResolveSource because it is possible to need it when
  an install is begun but the media is not in the drive, such as in
  install-on-demand cases.
- The file name used in the ui messages is the target name not the
  source name.
Yuri Kozlov <kozlov.y@gmail.com>
- Remove duplicate declaration of MSI_SetPropertyW.
Mike McCormack <mike@codeweavers.com>
- Handle loading strings over 64k from the string table.
- build a standard Wine list of folders instead of using an array
- use folder pointers instead of array indexes
- build a standard Wine list of files instead of using an array
- use file pointers instead of array indexes
- build a standard Wine list of features instead of using an array
- use feature pointers instead of array indexes
- build a standard Wine list of components instead of using an array
- use component pointers instead of array indexes
- Store the component information in a standard Wine list.
- Add include guard to header and make functions extern.
- build a standard Wine list of extensions instead of using an array
- use extension pointers instead of array indexes
- build a standard Wine list of appids instead of using an array
- use appid pointers instead of array indexes
- build a standard Wine list of mime types instead of using an array
- use mime type pointers instead of array indexes
- Add the allocated mime type to the mime type list.
- build a standard Wine list of classes instead of using an array
- use class pointers instead of array indexes
- Fix a small bug introduced when converting appids to a list.
- Implement MsiModifyView (MSIMODIFY_INSERT_TEMPORARY).
- Better stub for MsiViewGetError.
- Don't dereference variables in a trace.
- the combination of all table keys must be unique, not each key
- MsiViewExecute may not be called before MsiModifyView
- Make sure to save the result calculated in ACTION_UpdateInstallStates.
Steven Edwards <steven_ed4153@yahoo.com>
- Add real stub for MsiConfigureFeatureW.

svn path=/trunk/; revision=17672
2005-09-05 21:34:19 +00:00
Gunnar Dalsnes
965b06eb4d -surround user part (most of it) with a single lock (currently a mutex, but will be a resource). other now useless locks will be removed next.
-dont call NtUser fucnctions internally (they are syscalls only!)
-prepend co_ to functions leading to a "callout" (callback, wait, etc)


svn path=/trunk/; revision=17671
2005-09-05 21:19:23 +00:00
Gé van Geldorp
767a73be21 Sync to Wine-20050830:
Alexandre Julliard <julliard@winehq.org>
- Mark DllMain and similar exports as private.

svn path=/trunk/; revision=17670
2005-09-05 21:17:26 +00:00
Gé van Geldorp
c696fd3768 Sync to Wine-20050830:
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.

svn path=/trunk/; revision=17669
2005-09-05 21:15:50 +00:00
Gé van Geldorp
ee77339f00 Sync to Wine-20050830:
Mike McCormack <mike@codeweavers.com>
- gcc 4.0 warning fixes.

svn path=/trunk/; revision=17668
2005-09-05 21:08:24 +00:00
Gé van Geldorp
a3b56ff138 Sync to Wine-20050830:
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
- Uncomment out DisableThreadLibraryCalls in DllMain and add the
  kernel32 imports that it requires.

svn path=/trunk/; revision=17667
2005-09-05 21:06:55 +00:00
Gé van Geldorp
851ebece4a Sync to Wine-20050830:
Michael Jung <mjung@iss.tu-darmstadt.de>
- Check the GetPidlFromDataObject's doSelected parameter before calling
  a method on it.
Alexandre Julliard <julliard@winehq.org>
- Replace the _ICOM_THIS_From macros by inline functions the way it's
  already done in shelllink.c.
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Uniformize DllMain TRACEing across dlls.
Vitaly Lipatov <lav@etersoft.ru>
- Restore paper orientation when pagesetupdlg is initializing.
Troy Rollo <wine@troy.rollo.name>
- Browse to the directory if a directory name is typed into the edit box
  of a file dialog and the confirmation button (or Enter key) is hit.
  Return any file name in the edit box if OFN_NOVALIDATE is set and
  OFN_FILEMUSTEXIST is not, even if that file name includes a path name
  or is the name of a folder.

svn path=/trunk/; revision=17666
2005-09-05 21:04:10 +00:00
Hartmut Birr
ce7e038415 - Copy the map registers to the buffer only, if they are used (in IoFlushAdapterBuffers).
- Do not use the byte offset into the page from a given buffer if the map registers are used, 
  because the caller didn't request for one additional register in the call to IoAllocateAdapterChannel 
  and it will not work for a 64k buffer.

svn path=/trunk/; revision=17665
2005-09-05 20:25:31 +00:00
Gé van Geldorp
0389203146 Sync to Wine-20050830:
Vitaliy Margolen <wine-patch@kievinfo.com>
- Fix handling of minimum tab width.
  Add more tests to test it.
Filip Navara <xnavara@volny.cz>
- Use ReleaseDC instead of DeleteDC on DC handle.
Phil Krylov <phil@newstar.rinet.ru>
- Improved header control performance by maintaining an internal order
  array.
- Draw header control items only within the header client area.
Felix Nawothnig <felix.nawothnig@t-online.de>
- Fix DPA_Search for sorted arrays.
Michael Kaufmann <hallo@michael-kaufmann.ch>
- Handle WM_GETFONT and WM_SETFONT.
- Redraw immediately upon PBM_SETPOS, PBM_DELTAPOS, PBM_STEPIT.
- New tests.
Thomas Weidenmueller <wine-patches@reactsoft.com>
- It should be allowed to pass NULL handles in the phpage array of the
  PROPSHEETHEADER structure to PropertySheet(), just ignore them.
Aric Stewart <aric@codeweavers.com>
- Fix for dreamweaver site definition dialog. Need to initialize the
  rect for a tab control to an empty rect if it is not visible.
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
- Fixed regression in DPA_Search.
Yuri Kozlov <kozlov.y@gmail.com>
- Set default size for toolbar bitmap if not specified.
Mike McCormack <mike@codeweavers.com>
- Fix gcc 4.0 warnings.
Vitaly Lipatov <lav@etersoft.ru>
- Use STATEIMAGEINDEX / INDEXTOSTATEIMAGEMASK instead of bit
  operations.
Steven Edwards <steven_ed4153@yahoo.com>
- Correct RegCreateKeyEx[A/W] prototype to match the PSDK.
Frank Richter <frank.richter@gmail.com>
- Only draw a themed border when edit control has WS_EX_CLIENTEDGE
  style.
- Merge subclass stubs and subclass proc. Having the stub set the window
  proc to the subclass proc was not a good idea since that breaks
  subclasses of themed standard controls (e.g. what Delphi does a lot).
- Determining the superclass for a window subclassed for theming doesn't
  work - e.g. Delphi buttons have the classname "TButton" for which no
  superclass will be found. Instead, use initial subclass window procs
  that have the subclass hardcoded and store it for the "real" subclass
  window proc.
- Add theming for toolbar control.
- Improved trackbar theming.
- Add initial theming support for trackbars.
- Add theming for treeview control.
- Add theming support for dialogs (to support tab page background).
- Add theming for listbox (and combo listbox) controls.
- Add theming for combo boxes.
- Subclass edit control to draw themed border.
- Added some generic code to allow subclassing (for the purpose of
  theming) of standard controls.
- Fix warnings in 64bit.
- Add hottracking support for the header control.
- Since OpenThemeData() should return 0 in case theming is disabled
  globally or for the application we don't need to check that when
  calling OpenThemeData().
- Remove unneeded theming check.
- Add theming for the monthcal control.
- Instead of adding the border via WM_NCPAINT and WM_NCCALCSIZE, do what
  native does: just clear WS_EX_STATICEDGE when themed and reduce the
  area the actual bar is painted in to the progress bar theme part
  content rect.
- Add theming for the progress control.
- Split up the drawing code into a set of smaller functions and also
  moved some common computations into helper functions. All that to
  facilitate the implementation of the forthcoming theming support.
- Add theming for the rebar control.
- Add theming for status bar control.
- Fix text color for "button" style tabs when theming is enabled.
- Add theming support for the tab control.
- Forward WM_DESTROY to superclass in edit & listbox theming.
- Add WM_CTLCOLORSTATIC handler to dialog theming subclass so static
  text can appear transparent (for e.g. tab pages which commonly have a
  "fancy" background).

svn path=/trunk/; revision=17664
2005-09-05 20:25:16 +00:00
Gé van Geldorp
ae18f3a1cc Sync to Wine-20050830:
Alexandre Julliard <julliard@winehq.org>
- Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
  Dll(Un)RegisterServer with the dll name so that the compiler can check
  the prototypes.
Mike McCormack <mike@codeweavers.com>
- Fix gcc 4.0 warnings.

svn path=/trunk/; revision=17662
2005-09-05 20:07:46 +00:00
Gé van Geldorp
5d793513d1 Alexandre Julliard <julliard@winehq.org>
- Removed the broken mmap64 configure check, and moved the
  _FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
  need the define include it.

svn path=/trunk/; revision=17661
2005-09-05 20:03:06 +00:00
Alex Ionescu
87507a864e - More NDK + MSDDK/IFS Compatibility fixes
- Prototype fixes

svn path=/trunk/; revision=17660
2005-09-05 18:06:20 +00:00
Gé van Geldorp
94a3a9e377 Sync to Wine-20050830:
Alexandre Julliard <julliard@winehq.org>
- Beginnings of a crt0 library.
- Added a warning for DllGetVersion and DllInstall not being declared
  private. Also warn when one of the Dll* functions is using a different
  internal name.
- Added a --undefined option to allow forcing some symbols to be
  resolved by the linker.
- Byteswap the resources if we detect that the header is in the wrong
  endianness.
- Moved more of the spec initialization code to the winecrt0 library,
  and get rid of implicit kernel32 imports.
- Use __wine_unimplemented_stub from crt0 for 16-bit spec files too.
- Moved the delay loading support code to the winecrt0 library.
- Avoid using common symbols, they are broken on Mac OS.
- Moved the implementation of spec file stubs to the winecrt0 library.
- The exported name strings should be inside the export directory (found
  by Vitaliy Margolen).
- Added some general purpose routines for managing list of symbol
  names.
- Print a warning when a generated import library doesn't export
  anything useful.
- Implemented DelayLoadFailureHook and use it in the winebuild-generated
  delay load code.
- Compute the ordinal base and limit in assign_ordinals instead of doing
  it while parsing.
- Get rid of the unused owner_name field.
Ge van Geldorp <gvg@reactos.org>
- Adapt changes to ReactOS

svn path=/trunk/; revision=17659
2005-09-05 17:35:31 +00:00
Gé van Geldorp
89c566ad64 Sync to Wine-20050830:
Mike McCormack <mike@codeweavers.com>
- Fix a gcc 4.0 -Wpointer-sign warning.
- gcc 4.0 warning fix.

svn path=/trunk/; revision=17658
2005-09-05 10:18:07 +00:00
Gé van Geldorp
2853a0678a Fix compilation when ENABLE_VALIDATE_POOL is defined
svn path=/trunk/; revision=17657
2005-09-05 09:26:02 +00:00
Gé van Geldorp
c542593988 The kernel extension is really a EXTENDED_DEVOBJ_EXTENSION now
svn path=/trunk/; revision=17656
2005-09-05 09:25:06 +00:00
Hervé Poussineau
e77d41b989 Fix the build. TIB field in KIPCR structure is named NtTib, not Tib
svn path=/trunk/; revision=17653
2005-09-05 07:59:29 +00:00
Alex Ionescu
4e8d1019ce - More NDK/MSDDK compatibility fixes.
svn path=/trunk/; revision=17652
2005-09-05 07:51:15 +00:00
Alex Ionescu
51f0dfd307 - NDK compatibility fixes for MSDDK. Use NTAPI instead of STDCALL, and use NTSYSAPI instead of NTOSAPI.
- Remove some functions/types in NDK that were already documented in DDK/IFS.
- Fixup syscall structures for the table and fix protoype of KeAdd/RemoveServiceDescriptorTable.

svn path=/trunk/; revision=17651
2005-09-05 04:48:20 +00:00
Alex Ionescu
118aa9fba3 - Fix kernel32 and ntoskrnl build issues.
- Define public version of DEVOBJ_EXTENSION in DDK.

svn path=/trunk/; revision=17650
2005-09-04 23:48:19 +00:00