Alexandre Julliard <julliard@winehq.org>
- Faster implementation of wcstombs that handles overlapping buffers
properly (based on a patch by Dmitry Timoshkov).
svn path=/trunk/; revision=17090
- remove #if 0 (Define GdiEntries to thier internal names)
- include the right headers instead of defining things on it's own
svn path=/trunk/; revision=17083
Stefan Leichter <Stefan.Leichter@camLine.com>
- Update version resource of msiexec.exe to current version shipped from
Windows Update.
Mike McCormack <mike@codeweavers.com>
- Fix some declaration and write string warnings.
svn path=/trunk/; revision=17077
Alexandre Julliard <julliard@winehq.org>
- Get rid of the WaveMapper and MidiMapper options, the defaults should
be good enough in all cases.
- Moved the audio driver configuration to HKCU\Software\Wine\Drivers and
changed it a bit to follow the model of the graphics driver.
- Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
Mike McCormack <mike@codeweavers.com>
- Make a function static.
Francois Gouget <fgouget@free.fr>
- Fix winapi_check documentation warnings.
Rein Klazes <wijn@wanadoo.nl>
- In MCI_(Un)MapMsg16To32W with wMsg == MCI_OPEN(_DRIVER) only do
strdupAtoW on those parameters that are flagged to be a string.
svn path=/trunk/; revision=17076
Marcus Meissner <marcus@jet.franken.de>
- Move static variables out of header file, also the local interface
implementations.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make remaining OLE interface vtables const.
cjacek <cjacek@gmail.com>
- Fix typo in comment about Wine registry key.
Alexandre Julliard <julliard@winehq.org>
- Moved a few registry keys from HKLM\Software\Wine to
HKCU\Software\Wine for consistency.
- Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
- Sort entry points in the same order as Windows.
Stefan Huehner <stefan@huehner.org>
- Fix more -Wstrict-prototypes warnings.
svn path=/trunk/; revision=17061
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make remaining OLE interface vtables const.
Mike McCormack <mike@codeweavers.com>
- SHCreateStreamOnFileW is implemented in shlwapi, so we don't need
another implementation in shell32.
- Add a cast to get rid of a warning.
- Warning fixes for -Wmissing-declarations and -Wwrite-strings.
- Make functions static.
- -Wpointer-sign fixes.
- forward AddRef, Release, QueryInterface and GetClassID to internal
implementations
- implement GetClassID properly
- Switch IShellLink to use shlwapi.SHCreateStreamOnFileW.
- Remove some uses of wine/unicode.h functions.
- Add the IContextMenu interface to the ShellLink object.
- Implement ShellLink's IShellExtInit::Initialize() method.
- add the IShellExtInit interface to the ShellLink object
- use inline functions rather than macros to resolve the
implementation pointer from an interface pointer
- Add the IShellLinkDataList interface to the ShellLink object.
Michael Jung <mjung@iss.tu-darmstadt.de>
- Use the CallForAttributes registry value, instead of promoting the
root folder's SFGAO_FILESYSTEM flag to the registry.
- Return the correct attributes for the desktop folder.
- Corresponding tests.
- Support for shellfolder's CallForAttributes registry value.
- Let BindToObject fail, if called with empty relative pidl.
- Tests to show that it should do so.
- Fix SHBrowseForFolder to not pass an empty pidl to BindToObject.
- Fix a lurking infinite loop in SHGetPathFromIDList.
- Support for shellfolder's CallForAttributes registry value.
- Use SHGetPathFromIDList instead of SHELL32_GetPathFromIDList.
- Implement SHGetPathFromIDList based on GetDisplayNameOf.
Stefan Doesinger <stefandoesinger@gmx.at>
- Handle cidl==0 in shfldr_desktop, shfldr_fs and shfldr_mycomp.
- Remove the dwAttributes member from the IGenericSFImpl class, it's
not needed and can't be initialised in Initialize and InitializeEx.
Vitaly Lipatov <lav@etersoft.ru>
- Realize DoEnvironmentSubstA via ExpandEnvironmentStringsA.
- Fix types and return values.
- Add prototype into shellapi.h.
Aric Stewart <aric@codeweavers.com>
- Fix the BrowseForFolder dialog so that when it does the callbacks it
uses the correct message instead of always sending BEFM_INITIALIZED.
Juan Lang <juan_lang@yahoo.com>
- Const-ify a mask.
- Set default for "My Documents" to $HOME, and "Desktop" to ~/Desktop.
Alexandre Julliard <julliard@winehq.org>
- Sort entry points in the same order as Windows.
Francois Gouget <fgouget@free.fr>
- Fix winapi_check documentation warnings.
Marcus Meissner <marcus@jet.franken.de>
- ExtractAssociatedIconA needs to allocate enough space to have EAIW
fill in lpIconPathW.
Huw Davies <huw@codeweavers.com>
- Unquote the icon file path if it's quoted.
svn path=/trunk/; revision=17060
- Correct object type initializer
- Correct incorrect PreviousMode checks
- Correct MaximumCount and ReleaseCount checks since they can't be negative either
- Harmonize formatting
svn path=/trunk/; revision=17059
After the lock, a second check is done to make sure. However, since the first check will fail 99% of times, we will
not acquire/release a spinlock, and thus decrease contention.
- Fix Object Type Initializer to actually use ExpTimerDelete when the object is deleted.
- Fix Initializer to report correct memory usage of timer object.
- Fix Initializer to report OBJ_OPENLINK as an invalid attribute for timer objects.
- Use correct access masks when modifying or querying timer objects.
- Handle wake timers in NtCancelTimer.
- Return warning NTSTATUS code if a wake timer is requested but not supported by the system (default on ROS).
- Check for valid timer type in NtCreateTimer.
- Check for valid period in NtSetTimer.
- Don't dereference the timer in NtSetTimer three times.
- Return the correct Due Time in NtQueryTimer by substracting the stable interrupt time.
- Harmonize formatting, fix some comments.
svn path=/trunk/; revision=17057
- Rename LdrLoadInitialProcess to Exp... and move to executive initialization.
- Removed ldr/init.c
- Renamed ldr/sysdll.c functions to Psp (correct naming) and deleted file.
- Renamed SystemDll... ntdll pointers to correct Ke names
- Use direct Ke names instead of going through an API call.
- Make ExpInit... functions STDCALL
svn path=/trunk/; revision=17053
Robert Shearman <rob@codeweavers.com>
- Improve tracing.
- Implement FC_UP and partially FC_OP.
- Don't needlessly marshal 4 bytes in NdrPointer*.
- Fix an RPC server startup race introduced by me.
- Don't pass the PROFILE_SERVER flag in to CreateNamedPipe as it is
bogus.
- Call FlushFileBuffers to make sure the other end of the pipe doesn't
get cut off prematurely.
- Don't call CancelIo as we should never have async I/O pending.
- Make NdrInterfacePointer* more reliable.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make remaining OLE interface vtables const.
Alexandre Julliard <julliard@winehq.org>
- Sort entry points in the same order as Windows.
Mike Hearn <mh@codeweavers.com>
- Initialize DataRepresentation in NdrClientInitializeNew, not
NdrSendReceive.
svn path=/trunk/; revision=17048
Phil Krylov <phil@newstar.rinet.ru>
- Implemented EM_GETTEXTLENGTHEX RichEdit message.
Krzysztof Foltman <wdev@foltman.com>
- added support for \ulnone (turning underline off)
- support for basic subscript and superscript
- untested support for text offset
- Emit \tx for user-defined TABs.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make remaining OLE interface vtables const.
Stefan Huehner <stefan@huehner.org>
- Fix some more -Wstrict-prototypes warnings.
Vitaly Lipatov <lav@etersoft.ru>
- Allow null pointers for EM_GETSEL message (as MSDN says).
Robert Shearman <rob@codeweavers.com>
- Richedit classes should be global.
svn path=/trunk/; revision=17041
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make remaining OLE interface vtables const.
Robert Shearman <rob@codeweavers.com>
- DispInvoke is correct so there is no need to print a fixme.
- The typelib marshaler should only free the memory it actually allocated.
- Add special cases for two lesser used types that aren't
sizeof(DWORD) sized.
- If we are accessing a method from a superclass then we need to use the
superclass's ITypeInfo otherwise we could get errors when accessing
hreftypes that aren't present in the subclass.
- Don't print out cryptic message if IDispatch or IUnknown object is
just NULL.
- puArgErr is a ref pointer so we have to provide a dummy pointer if
it is NULL.
- Fail gracefully and notify caller if we ran out of memoy or if
variant copying failed.
- Clear out parameters to stop bad pointers lying around in memory if
the function doesn't set them to anything.
- Fix the return values from QueryPathOfRegTypeLib.
- Open registry key with least access rights necessary.
- Documentation updates.
Michael Stefaniuc <mstefani@redhat.de>
- VarCmp: handle comparision of VT_EMPTY with an integer
- small comment fix
- Reimplement VarAdd, had missing functionality and wrong behaviour.
- Fix a typo in VarMul.
- more VarFormat fixes for number formats (exponent, mixed '#' and '0'
in formats, rounding, etc). Simplify the code.
- previous VarFormat todo_wine tests pass now + add more tests
- Fix VarFormat for formats that mix '0' and '#' in the whole number
part.
- Fix VarFormat for negative exponent formats.
- Add tests for the above + a couple of "todo_wine"'s.
- implement handling of exponents (e+,e-,E+,E-) when parsing number
formats
- fix a small cut'n'paste error in the comments
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Marcus Meissner <marcus@jet.franken.de>
- Added VarMonthName() implementation.
- Corrected string length method in ITypeLib::IsName() and FindName()
for LPOLESTR type.
- Fixed IType::Invoke in regards to handling propertyget variables
longer than 4 bytes (like VT_DATE).
- Added testcases for OLE Picture handling.
- Implemented PICTYPE_NONE loading.
- Cleaned up stream loading, handle "lt" magic.
- Fixed some small problems exposed by tests against native.
Stefan Huehner <stefan@huehner.org>
- Fix some more -Wstrict-prototypes warnings.
Huw Davies <huw@codeweavers.com>
- Add comments describing the first DWORD in an import table entry.
svn path=/trunk/; revision=17037
Robert Shearman <rob@codeweavers.com>
- Convert some registry helper functions to use unicode versions of
CLSID & registry functions (untested).
- Add registry entries for local-only OLE interfaces.
- Change IUnknown to local interface.
- IUnknown isn't a remotable interface so the stub manager shouldn't
need a marshaller for it.
- Change the RPC code to use the unicode versions of the CLSID &
registry functions.
- Don't disconnect proxies flagged with SORFP_NOLIFETIMEMGMT. It makes
no sense and only causes trouble for proxies that depend on these
proxies being available.
- Change some of the registry helper functions to use the unicode
versions of the CLSID & registry functions.
- Reindent CoGetClassObject and output an error message if the class
isn't registered.
- Add tests for the touched functions.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make remaining OLE interface vtables const.
Richard Cohen <richard@daijobu.co.uk>
- Base FileMonikerImpl_Save() on XP.
- Correct handling of Unicode strings & multibyte locales.
- More error checking.
- Change ERR to WARN.
- Match Windows quick & dirty estimate for GetSizeMax().
Stefan Huehner <stefan@huehner.org>
- Fix some more -Wstrict-prototypes warnings.
Mike Hearn <mike@navi.cx>
- Add some tracing to the IRemUnknown RpcProxyBuffer implementation.
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.
Richard Cohen <richard@daijobu.co.uk>
- IEnum::Clone shouldn't do a Reset.
Marcus Meissner <marcus@jet.franken.de>
- Removed CLSID_CompositeMoniker (conflicting with static definition).
Alexandre Julliard <julliard@winehq.org>
- Sort entry points alphabetically.
svn path=/trunk/; revision=17036
Mike McCormack <mike@codeweavers.com>
- Repaint the area behind the "transparent" text control when it
changes.
- Implement transparency in the text control.
- Make the MSI icon control work.
- Make tabs work in msi dialogs.
- Added support for the MSI MaskEdit control.
- Use a richedit control for license text.
- Fix radio button groups. Don't add the WS_GROUP style to every
window.
- Use standard lists in the event subscription code.
- Take the dialog frame into account when calculating the dialog size.
- Use MSI_QueryGetRecord in one more place.
- Create a helper function to fetch a single record from a query.
- More -Wmissing-declarations and -Wwrite-strings warning fixes.
- Get rid of some redundant parser types.
- Use the new helper function MSI_QueryGetRecord.
- Use MSI_RecordGetString in more actions.
- Use MSI_RecordGetString where possible.
- Fixes for -Wmissing-declarations and -Wwrite-strings warnings.
- Remove some unused code.
- Add and correct some function declarations.
- Improve number parsing and avoid unicode.h.
- avoid unicode.h
- add a missing function prototype
- Create a stub implementation for MsiViewGetError.
- Remove more types from the parser.
- Test and fix the size of stream fields in a record.
- Clean up headers and make some functions static.
Marcus Meissner <meissner@suse.de>
- Use a simpler expression for the "RichEdit20W" string to workaround
compiler bug.
- Remove cszbs from msi/action.h.
Aric Stewart <aric@codeweavers.com>
Mike McCormack <mike@codeweavers.com>
- Allow dialog controls to subscribe to installer events.
- Fix handling of checkbox properties.
- Implement dialog events and hook up the dialog code.
Aric Stewart <aric@codeweavers.com>
- Break out all the file related actions and helper functions into
files.c
- Break out all the top level apis into install.c.
- Break out all the class registration actions into classes.c. This
includes RegisterClassInfo, RegisterProgIds, RegisterExtensions and
RegisterMIMETypes.
- Break out all the helper functions into helpers.c.
- Added module upgrade.c and implemented FindRelatedProducts.
- A long overdue fix to MSI_SetTargetPath. This should fix an error with
some installers that where unable to change the target path.
- Add functions to add the User UpgradeCodes.
- A simple cleanup to only track the temp file if we need to have it
laying around because the action is going on asynchronously. Otherwise
clean up the temp file as the action finishes.
- Introduce really basic scripting of actions. This is primarily to get
the order of execution of the action correct since some custom actions
can be scripted and others are run during the script building phase.
- Perform ExecuteAction at UILevel 2.
- Rework CreateShortcuts to use MSI_IterateRecords.
- Properly handle -1 as a registry key root.
- Rework SelfRegModules to use MSI_IterateRecords.
- Rework component, feature and file loading to use MSI_IterateRecords.
- Rework RegisterFonts to use MSI_IterateRecords.
- Rework WriteIniValues to use MSI_IterateRecords.
- Rework PublishProduct to use MSI_IterateRecords.
- Rework RegisterTypeLibraries to use MSI_IterateR
- Rework LaunchConditions to use MSI_IterateRecord
- Rework CostFinalize to use MSI_IterateRecords.
- Rework WriteRegistryValues to use MSI_IterateRecords.
- Rework CreateFolders to use MSI_IterateRecords.
- Use MSI_IterateRecords for processing actions.
Some whitespace cleanup and replace a comment block I did not want to
remove.
- Flesh out the remaining keys in RegisterProduct.
- Extending upon Mike McCormack's cleanup to use MSI_RecordGetString.
- Register the Product Version also.
Also help plug some memory leaks pointed out by Mike McCormack.
- Avoid a loop where a parent's parent refers to itself as its parent.
- Added module upgrade.c and implemented FindRelatedProducts.
- Set the Preselected property if appropriate (relevant to
MigrateFeatureStates when implemented).
- Write out Product Language and Product Icon to the registry.
- Write out UpgradeCodes to the registry to allow for future upgrades.
- Don't get caught in loops on parent progids.
- Since multiple progids can refer to 1 class we need to check if that
class is isntalled instead of just relying on having it set the
InstallMe variable.
- Add install_on_demand for Extension servers also. currently defaulting
to TRUE.
- Extension need to have 1 verb to mark the given progid to be
installed.
- Do not loop if a ProgId's Parent Index it itself.
- Add a VersionIndIndex for tracking version independent fields for the
ProgIds properly.
- Print a message for skipped actions in ProcessExecSequence like in the
UISequence.
- Do not change a features state to Advertise if it explicitly disallows
it.
- For typelibs index 1 do not add \\1 to the path. This cleans up
registry diffs with native MSI.
- Register the FileType and correct short vs long path problems with
InprocServer32. Also add install_on_demand boolean for future
expansion.
- First pass at writing out CurVer keys for ProgIds. Also print a
message for the actions we skip. Lines up with native MSI output logs
for ease of comparison.
- A big rewrite of the whole RegisterClass, RegisterProgId,
RegisterExtension and RegisterMIME actions. We now handle verbs
properly, handle dependancies and such properly and keep track of what
we need to register and what we do not properly.
- Allow control events to return codes to halt the processing of event.
Needed for the SetTargetPath Event.
- Fix situations where TARGETDIR is set to a non \ terminated
path. Fixes a few installers.
- Redo how we extract files from a cabinet in order to dramatically
improve performance, especially if picking and choosing files out of
the cabinet.
- Duplicate files should not fail if unable to get Destination
Directory.
- Use MSI_IterateRecords for DuplicateFiles.
- Add UI messages to FindRelatedProducts.
- Reduce unneeded includes.
- A "1" is returned not a 1 for AssignmentType. Also as a bit more to
the FIXME message.
- Add Language to the values we can query with MsiGetProductInfo.
- Correct a crash if the length buffer is NULL.
- Locate where a buffer size is not being set and correctly handle the
buffer size conversion from W to A (with help from Robert Shearman).
- Make sure the TRACE statements do not spew garbage by using
debugstr_wn.
- Restrict deformating of nested index keys [[1]].
- Introduce the beginning of group deformating {}.
- Implement the [!file] format to produce the short filename.
Stefan Huehner <stefan@huehner.org>
- Fix more -Wstrict-prototypes warnings.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make more of the OLE interface vtables const.
svn path=/trunk/; revision=17034