Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Info
  3. Community
  4. Development
  5. myReactOS

  1. Overview
  2. People of ReactOS
  3. Forums
  4. Wiki
  5. Mailing Lists
  6. IRC Channels
  7. Newsletters
  8. Blogs
  9. User FAQ

Community > ReactOS Newsletter Archive > ReactOS Newsletter: Volume 1, Issue 10

Volume 1, Issue 10

by Stuart on 2006-01-09

top

Time to get this Newsletter Back on Track


A new year, a new start, I always say. Unfortunately, I was a little bit busier over the holiday period than I had anticipated, but now that I'm back doing early shifts, instead of the late ones I was being handed, I will have enough time set aside to continue.

So, I'll start as I mean to go on... by Compiling! Yep, ReactOS' Source Code may be all-singing, all-dancing, bu without it being compiled, all it does it look like a pretty collection of ASCII Codes. So, without further ado, here is a tutorial for 'newbies'.

top

Compiling on Windows


top

What do I need first?


You first need a working copy of the ReactOS SVN source code. Now, the ReactOS Wiki lists a command-line tool for SVN, but I prefer TortoiseSVN. Very user friendly, and capable of complicated things, like making patches, and making diffs. Mind you, this is for Windows, I'm not really experienced enough to detail compilation on Linux, BSD, or Mac OS. However, such information is present on the ReactOS Wiki for Linux and FreeBSD. But, it should be noted, that this is designed foe Amateurs. If you're experienced enough to know how to run a copy of Linux or BSD, it's generally granted you should know how to set up a build environment. ;)

When Checking Out the code, the only directories you'll be really interested in reside in /trunk. The first thing you'll want to do is choose a nice, vacant space on a drive with preferably a large amount of free space. Create a Folder called 'ReactOS', and then make a subfolder called 'Trunk'. At this point, TortoiseSVN should be installed.

Right click on 'Trunk', and select 'Checkout', from the SVN Submenu. Input svn://svn.reactos.org/trunk as the desired location. Note that it is now .org, not .com, since the DNS Entry for reactos.com has now been removed. Now, it will begin collecting all the source code in the Trunk.

Now, you'll need a way to continually get updates as changes are uploaded to SVN. This comes in the form of SVN update. Again, right-click on "Trunk", and select SVN Update directly from the menu. It will then scan for changes made since the revision you have, and download them.

top

Fine, I have the code, now can I compile it?


Whoa, slow down, first you'll need a compiler. While there are many out there, the one most commonly used is the GNU C Compiler, abreviated GCC. GCC on Windows is contained in what is called the Minimalist GNU for Windows, abbreviated MinGW. You will need the following files:

MinGW should be installed to a directory that is easily remembered, like C:gcc. All the Gzipped Tarballs should be extracted to the gcc directory, overwriting any files. The new GNU Make EXE should go in gccbin, as should the contents of the NASM Zip.

While you can use these versions, I've found that Win32API 3.3, Binutils 2.16.91, and GCC Core 3.4.4, GCC G++ 3.4.4, and GCC-Objc 3.4.4 can also be used. I've also included the MinGW Runtime, since unzipping that fixed a few things on my end.

After that, we need to do a little bit of settings editing. On Whatever Windows version you have, you need to edit the Environment Variables. These are a list of locations that Windows looks when you run a command from the command-line. (Or in Start-> Run). Under NT, 2000, XO and 2003, it can be found under System -> Advanced. Under 'Paths', add 'C:gcc;C;gccbin;' to the beginning, ignoring the apostrophies. Swap 'C' for the drive you install it on.

Once that's done, open up CMD, or the Command Interpreter. At the command line, switch to the directory you have the source code stored on. So, for me, it would be:

  • S:
  • cd SVN
  • cd Reactos
  • cd Reactos

In that order. But, that's my individual setup (and yes, I do have many, many drive letters in use). Once you arrive at the directory, type:

  • mingw32-make bootcd
  • or
  • mingw32-make livecd

You can delete the old make.exe file, and rename mingw32-make.exe to make.exe to simplify the command, but it's optional if you wish to keep the old make file, for whatever twisted reason. After the compilation process, it will create an ISO Image, ready to burn. The bootcd instructs it to create a Bootable Install CD, the livecd instructs it to create a Bootable Live CD.

top

Eye on SVN


Whew. Thank God for Copy and Paste. Typing this out has made me consume around 30,000 keyboard clicks, according to my WhatPulse ticker. This is what happens when you let SVN commits pile up on you!

So, read, enjoy, and be amazed at what ReactOS has done in the festive period!

top

CIS


  • Handle access denied scenario
top

IRC


top
Techbot

  • Changed "Reactos.com" to "Reactos.org"
  • Implemented "!bug " command.
  • Identify TechBot to allow private messages
top

CMD


  • Return error codes correctly
top

CPL


  • Make property sheet fit in 640x480
  • Only allow bmp's since it is the only format supported by reactos.
  • Put skeleton in place for 'internet time' tab in the 'date and time' control panel applet
top

Devmgr


  • Rename IsDeviceEnabled to IsDeviceStarted
  • Add the driver page if necessary
  • Fixed remote device property pages
  • Display the driver provider, date and version
top

Drivers


top
Bus

  • Now Reports current bus number during IRP_MN_QUERY_RESOURCES
  • Child bus number is in u.type1.SecondaryBus field, not u.type1.SubordinateBus
top
Input

  • Fixed serial mouse type detection
  • Replace STATUS_UNSUCCESSFUL by STATUS_TOO_MANY_NAMES
top
Net

  • Don't keep overwriting the first address entry, give the others a chance too.
  • Fixes IP address display in ipconfig.
top
Video

  • Add check for VbeModeInfo->PhysBasePtr != 0.
  • Implement VideoPortGetAssociatedDeviceExtension and VideoPortCheckForDeviceExistence
top

DHCP


  • Obtain DHCP info from DHCP client service
top

Explorer


  • Disable printer submenu folder in "settings" start menu
  • Add allowwarnings ="true" so explore can be build with dgb=0
  • Refactor icon cache
  • Display icon overlays in Explorer tree view
  • Simplify SCAN flags
  • Extend shell browser to use WINFS
  • Resolve a few FIXMEs
  • Simplified ShellBrowser initialization
  • Now Handles /root command line option
  • Correct folder display when using the "/e" command line option
  • Handle owner draw menu messages in folder pane
  • Disable WINFS in favor to code size using only shell namespace
  • Removed WINFS
  • Removed unused attributes
  • correctly handle path of command line argument in explore mode
  • Split logoff and shutdown resources
  • Add icons for each
top

Freeldr


  • Added support for NTLDR style freeloader GUI. To enable, edit freeldr.ini and add:
    • ShowTime=No
    • MinimalUI=Yes
    • MenuBox=No
    • CenterMenu=No
    • TimeText=Seconds until highlighted choice will be started automatically:
    • Also make sure the following are set:
    • MenuTextColor=Gray
    • MenuColor=Black
    • TextColor=Gray
    • SelectedTextColor=Black
    • SelectedColor=Gray.
  • Also made the boot-up screen black, not blue, since that's the actual color it's been after NT4. If booting without NOGUIBOOT, this results in a much nicer transition to the boot screen (especially if using the NTLDR theme)
  • Some other minor changes done to simplify transitions while booting.
top

iBrowser


  • Aadd allowwarnings ="true" so ibrowser can be build with dgb=0
top

GDI32


  • Implement CreateHatchBrush, CreatePatternBrush
top

INF


  • msmouse.inf: Change some section names to be able to install the vmware mouse driver (still not working)
  • usbport.inf: Add identifier for Intel 82371SB PIIX3 USB controller
  • hivesft.inf: Use Bitstream Vera Sans when asked for Tahoma.
top

Kernel32


  • Fixed bunch of bugs in GetVolumeNameForVolumeMountPointW
  • Implement GetVolumeNameForVolumeMountPointW
  • Fixed the definition of RtlDosPathNameToNtPathName_U
  • Fix kernel-mode executive atom implementation (mostly add SEH and tidy up the code). Then fix kernel32 implementation which was sending incorrect sizes, and also re-factored the entire code, since most functions were quatriplicated. now there are 3 main functions instead of 12. Also fixed a bug in RtlCreateAtomTable.
  • Correctly open the registry when using MOVEFILE_DELAY_UNTIL_REBOOT
top

Keyboard


  • First attempt at a Hebrew keyboard
top

HAL


  • Separate UP and MP spinlock functions.
  • Optimize UP spinlock functions so they don't call ntoskrnl anymore and only raise/lower irql.
  • Implemented Queued Spinlocks and In-Stack Queued Spinlocks for UP machines.
  • Implemented KeAcquireInStackQueuedSpinLock, KeReleaseInStackQueuedSpinLock, KeAcquireQueuedSpinLock, KeReleaseQueuedSpinLock,KeTryToAcquireQueuedSpinLock, KeTryToAcquireQueuedSpinLockRaiseToSynch, KeAcquireQueuedSpinLockRaisetoSynch.
top

Now able to Compile/Link with MSVC/DDK


top
Drivers

  • AFD
  • Atapi
  • Beep
  • Blue
  • Bootvid
  • Bus
  • Buslogic
  • Cdrom
  • Chew
  • Class2
  • Csq
  • Disk
  • Diskdump
  • Green
  • IP
  • Kdbclass
  • Mouclass
  • Mpu401
  • NDIS
  • Ne2000
  • Oskittcp
  • Parallel
  • Pciidex
  • PCnet
  • Portcls
  • Ramdrv
  • Scsiport
  • Sndblast
  • Sound
  • TCP/IP
  • VBE
  • VGA
  • Wshtcpip
  • Xboxvmp
top
Filesystems

  • CDFS
  • NTFS
top
Components

  • Autochk
  • Calc
  • CMD
  • Csrss
  • Devmgr
  • Expand
  • Format
  • Gettype
  • HAL
  • HalxBox
  • Hostname
  • Lsass
  • MPHAL
  • Msconfig
  • Msiexec
  • Notepad
  • Ntdvm
  • Reactos
  • Regedit
  • RegSvr32
  • ReportError
  • Rundll32
  • Sc
  • Services
  • Servman
  • Setup
  • Sm
  • Smss
  • Sndvol32
  • Userinit
  • Usetup
  • Vmwinst
  • Welcome
  • Winefile
  • Winlogon
  • Winver
  • Win32k
top
Services

  • DHCP
  • Event Log
  • Tcvpsvcs
  • Rpcss
  • Unpnpmgr
top

Newdev


  • Set DI_FLAGSEX_ALLOWEXCLUDEDDRVS flag when searching a driver for a PnP device
top

NDK


  • Add missing RtlMakeSelfRelatedSd prototype.
  • Add prototypes for Nt/ZwReplyWaitReceivePortEx, Nt/ZwImpersonateAnonymousToken
  • Make more compatible with MS IFS
  • Fix EX_WORK_QUEUE definition.
  • Fix ETHREAD offsets.
  • Fix RtlIsNameLegalDOS8Dot3 definition.
  • Move splay tree defines to IFS.
top

Networking


  • Remember the last allocated port and try to allocate the next one on the following call
top

Ntoskrnl


  • Set DNF_ASSIGNING_RESOURCES, DNF_RESOURCE_ASSIGNED, DNF_RESOURCE_REPORTED and DNF_NO_RESOURCE_REQUIRED flags
  • Set the ConfigFlags value in registry if not present
  • Allow DIF_PROPERTYCHANGE as valid install code in SetupDiSetClassInstallParamsW
  • Better stub for SetupDiChangeState
  • change service pack from 6 to 4
  • Implemented InterlockedBitTestAndReset, InterlockedBitTestAndSet, InterlockedExchangeAddSizeT.
  • Added inlined functions for internal system use for quickest path.
  • Correctly named all functions Exf instead of Ex.
  • Removed PAGED_CODE(); macro where it shouldn't be used.
  • Added multiple ASSERTS for sanity checks.
  • Used macros for win64/32 portability.
  • Invert CONFIG_SMP defines
  • Remove KiBlockThread and replace by more elegant KiSwapThread which will also make moving to the new scheduler easier.
  • Handle special case where we have kernel apcs pending and your previous irql was below apc_level during the wait code.
  • Remove hack to manually unwait a thread during a status of kernel apc
  • Fix Status/WaitStatus/Thread->WaitStatus confusion/mess and reduce to a signle variable.
  • Fixed the register saving in ExfInterlockedCompareExchange64.
  • Set the right Thread->WaitTime dring waits
  • Initialize WaitBlock->Thread during thread creation.
  • Make APCs queuable for the thread after it's created
  • Enable Timer Block optimization since it works now. This allows us not to always set-up for each wait, since most of its fields can remain static.
  • Properly link wait block together with the waitlist of the timer.
  • Remove some public APIs from internal headers.
  • Remove some internal APIs/types from public headers.
  • Make PSECTION_OBJECT a PVOID unless really needed (which should only be inside mm)
top
Fixed the following bugs/features:

  • ExfAcquireRundownProtection: Added specific code instead of calling the generic function. Rundown locks are performance critical and a dedicated path is prefered.
  • ExfAcquireRundownProtectionEx: Added a quick immediate check to see if the rundown is active.
  • ExfReleaseRundownProtection: Added specific code instead of calling the generic function. Rundown locks are performance critical and a dedicated path is prefered.
  • ExfReleaseRundownProtectionEx: Simplified the loop code, Fixed a bug in signaling of the event during waitblock count removal
  • ExfWaitForRundownProtectionRelease: Add quick case when we don't actually need a full wait, and Simplified loop code.
  • Added stubs for cache-aware implementation.
  • Documented the functions.
  • Fix InterlockedBitTestAndReset and InterlockedBitTestAndSet
  • Implement YieldProcessor
  • Fix formatting in spinlock.c
  • KiAcquireSpinlock and KiReleaseSpinLock should be no-op functions on uniprocessor machines.
  • KiReleaseSpinLock does not need interlocked access to release the lock.
  • Use portable code for KiAcquireSpinLock. Also use interlocked bit operations since they are faster.
top
Rewrite Executive Interlocked Functions to actually work as supposed and also immensly increase their speed, most notably on non-SMP machines

  • The functions now disable interrupts as they should. This is a core functionality of the ExInterlocked functions which we did not do.
  • The functions now preserve EFLAGS as they should. This is another core functionality and point of ExInterlocked functions, which we did not do.
  • Use KiAcquire/ReleaseSpinlock equivalents instead of going through HAL. Also make them macros which can be later used in other assembly files.
  • Write optimized versions for non-SMP machines. Namely, the spinlock macros are coded to be no-ops on UP machines, since they are not needed.
  • Write all functions in assembly, so we can cleanly optimize them and properly restore/save EFLAGS and use CLI.
  • Use the right interlocked macro in guarded mutex implementation.
  • Fix export of Exi386InterlockedExchangeUlong
  • Use documented EFLAGS definition instead of hard-coded value in some interlocked functions.
  • Cleanup assembly files and create a header for the macros added and new ones that will be added later for syscall.S & friends.
  • Implemented the 'red zone check' for the non paged pool.
  • Implement Pushlocks. Only Waking, and Exclusive Acquire/Release + Waits have been tested. The shared paths and block/unblock are still untested and may probably contain bugs. Pushlocks are not yet used in the kernel and they won't be until all paths are tested and validated.
  • Public DDIs Implemented: ExfAcquirePushLockExclusive, ExfAcquirePushLockShared, ExfTryToWakePushLock, ExfReleasePushLock, ExfReleasePushLockExclusive, ExfReleasePushLockShared, ExfUnblockPushLock.
  • Implemented Queued and In-Stack Queued Spinlocks
top
Fix shamefully dangerously broken Work Thread/Queue/Item implementation

  • Do not pollute the kernel with 10 real-time threads and 5 high-priority threads in order to manage work items. Work threads are very-low priority (< 7) and should never pre-empt userthreads like they do now. 1 priority 7, 5 priority 5 and 3 priority 4 threads are now properly created.
  • Implement a worker thread balance set manager. On SMP systems, it is able to determine when a new thread should be allocate to execute on a free CPU. On both UP and MP, it is also able to detect if a work queue has deadlocked, and will allocate new dynamic threads to unfreeze the queue.
  • Add check for threads returning with APC disabled, and re-enable APCs if this happend. This hack is used in NT for broken drivers.
  • top
    Lots of code changes to support dynamic threads, which

    • Can terminate.
    • Use a 10 minute timeout on the kernel queue.
    • Add skeleton code for swapping worker thread stacks as well as worker thread shutdown (not yet implemented).
    • Add WORKER_INVALID bugcheck definition.
    • These changes seem to make ROS a lot more responsive.
    • New ERESOURCE implementation: fixes the return value of some functions (VOID vs NTSTATUS, USHORT vs ULONG), as well as optimized the code loops and general structure of the code. Additionnaly, functions do not simply call other functions with similar names; the exact implementation of each function has now been properly separated (see the DDK for more information on this) to have the most optimized scenarios.
    • Also, the spinlock is not actually acquired on non-SMP builds; instead, interrupts are blocked and unblocked for acquire/release, this optimizes locking.
    • Added many asserts and bugcheck scenarios.
    • Added thread priority boosting.
    • Added some debugging helpers and deadlock detection.
    • Added RESOURCE_NOT_OWNED bugcehck message.
    top
    Fix some bugs in Kernel Queue implementation

    • KeRemoveQueue did not set Thread->WaitNext = FALSE if it was called with WaitNext = TRUE.
    • KeRemoveQueue did not handle the case where a kernel-mode APC is pending and the previous IRQL was below APC_LEVEL.
    • KeRemoveQueue did not set the thread's wait status to 0.
    • KiInsertQueue did not set the Thread's wait status to the entry being inserted.
    • KiInsertQueue did not remove the thread from its wait list.
    • KeRemoveQueue did not properly link the wait blocks.
    top

    Rbuild


    • Modified rbuild to generate a map file of the boot loader
    top
    Rbuild MSVC Backend changes

    • Don't do runtime checks for drivers
    • Don't do buffer checks for drivers
    • Use W0 for speed build, not for the release build.
    • Disable Wp64 only for the speed build, not for the release build
    • Use /STDCALL default calling convention for native modules because the DDK requires it
    • Remove some duplicated options that were passed on the command line
    • Replace some options that were passed on the commandline with their appropriate XML keywords.
    top

    RosCMS


    top
    Website Status Page

    • Fixed translation date
    • Add day counter and "date colors"
    top
    User Accounts Admin Interface Page

    • Improved the navigation
    • Outsourced the color settings
    top
    Membership pPage

    • Improved the interface and sql queries, outsourced the color settings
    top
    Static Page Generator

    • It's now possible to generate only the changed pages
    top
    General

    • New updated sql file (with sample content entries)
    • Fixed the "preview" bug
    • Simplified the translator interface
    • Improved the interface user interface
    • Improve edit/save contents
    • Fixed "Warning: Headers already sent" bug when logging into "myReactOS" in russian locale.
    • Add a link to the new faq entry in the "You are already logged in" error message.
    • Improved the Page Generator Overview page
    • Simplified the menu bar
    • Added support for Swedish and Italian Languages
    top

    Services


    • Implement QueryServiceConfigW
    • Add QueryServiceConfig2A stub.
    • Implement QueryServiceObjectSecurity and SetServiceObjectSecurity
    • Implement EnumServicesStatusW.
    • Add server stubs for ChangeServiceConfigA, GetServiceDisplayNameA, GetServiceKeyNameA and QueryServiceStatusEx.
    • Implement QueryServiceStatusEx.
    • Implement EnumServicesStatusExW.
    • Add missing [unique] Attributes to svcctrl.idl.
    • Forward StartServiceA/W to services.exe
    • Forward ChangeServiceConfig2A, QueryServiceConfig2A/W and EnumServicesStatusExA to services.exe
    • Forward EnumDependentServicesA/W to services.exe.
    • Forward QueryServiceLockStatusA/W to services.exe.
    top

    Servman


    A Start to put together a services.msc equivalent.

    • Added the properties dialog
    • Add an about dialog
    • Split up the query code to make it more usable
    • Call description from the registry
    • Many other code mods
    • Pull service info out of the registry to populate the list view
    • List items alphabetically
    • Double click opens properties dialog
    • A very rough implementation of the control buttons.
    • implement list refreshing and program exit
    top

    SetupAPI


    • Implement SetupDiSetClassInstallParamsW
    • Handle DIF_PROPERTYCHANGE in SetupDiCallClassInstaller
    • Add stub for SetupDiChangeState
    • Rename a label (nextfile -> nextservice)
    • Remove a useless test in DelayedMove
    • Implement DICS_FLAG_CONFIGSPECIFIC and DIREG_DEV cases in SetupDiCreateDevRegKeyW
    • Implement SetupDiChangeState
    • Implement DICS_FLAG_CONFIGSPECIFIC case in SetupDiOpenDevRegKey, by factorizing some code from SetupDiCreateDevRegKeyW to OpenHardwareProfileKey
    • Don't ask for KEY_ENUMERATE_SUB_KEYS access right when not needed
    • Implemenent internal function ResetDevice()
    • Implement StringTableAddStringEx and StringTableLookUpStringEx
    • Implement CM_Disable_DevNode[_Ex], CM_Enable_DevNode[_Ex], CM_Reenumerate_DevNode[_Ex] and CM_Run_Detection[_Ex]
    • Implement CMP_Init_Detection, CMP_Report_LogOn, CM_Setup_DevNode[_Ex] and CM_Uninstall_DevNode[_Ex].
    • Implement SetupDiInstallClassExA
    • Implement parts of SetupDiInstallClassExW
    • Install "ClassInstall32.Services" section in SetupDiInstallClassExW
    • Implement SetupDiGetActualSectionToInstallExA/W
    • Implement SetupDiGetDeviceInfoListClass
    • Parse 'Include' and 'Needs' directives in SetupInstallFromInfSectionW and when installing services
    • Honor DI_ENUMSINGLEINF flag in SetupDiBuildDriverInfoList
    • Implement SetupDiGetSelectedDevice/SetupDiSetSelectedDevice
    • Fix horribly broken implementation of SetupInstallServicesFromInfSectionExW, which should install a whole Services section and not a particular service.
    • Simplified handling of Include and Needs directives
    • Partly implement SetupDiInstallDeviceInterfaces
    • Exports CMP_InitDetection, CMP_Report_LogOn, CM_Move_DevNode[_Ex], CM_Setup_DevNode[_Ex] and CM_Uninstall_DevNode[_Ex]
    • Copy driver files only once
    • Set SPINT_DEFAULT, SPINT_REMOVED and SPINT_ACTIVE in interface flags when needed
    • Precise some SP_DEVINSTALL_PARAMS, by replacing them by SP_DEVINSTALL_PARAMS_W
    • Handle DIF_ADDPROPERTYPAGE_ADVANCED in SetupDiCallClassInstaller
    • Handle more DIF codes in SetupDiCallClassInstaller. The list should now be complete
    • Add a minimal implementation of SetupScanFileQueueW
    • In SetupDiBuildDriverInfoList, add found drivers in the right driver list
    • In SetupDiEnumDriverInfoW, enumerate the right driver list if DeviceInfoData is not NULL
    • Validate parameters in SetupDiSetDeviceInstallParamsW
    • Be ready to honor DI_FLAGSEX_ALLOWEXCLUDEDDRVS flag
    • Fix an infinite loop in SetupDiSetSelectedDriverW
    • Add missing processor architecture cases
    top

    Shell32


    • Don't wait 10 seconds after starting an app via a .lnk file
    top

    SMSS


    • Implement system handling of page file creation sizes (Later Reverted)

    On FAT16 partitions smaller than 128MB, the cluster size is 2048, which is smaller than PAGE_SIZE. This caused creation of the paging file on such a partition to fail, which in turn made SMSS fail, blocking the boot process. Creation of paging file fixed, and failure to create it is no longer a blocker for the boot process (just try to run without paging file).

    top

    Start Menu


    • Fixed positioning of graphic in start menu
    top

    Telnet


    • Add allowwarnings ="true" so telnet can be build with dgb=0
    top

    USB


    • Allow more than one USB controller
    • Upgrade from 2.5.0 to 2.6.14.3
    • Start DeviceUSBFDOx names at index 0.
    • Use the same index to create the symbolic link ??HCDx
    top

    Userenv


    • Implemented ExpandEnvironmentStringsForUserA/W
    top

    User32


    • Implemented GetKeyboardLayoutNameW
    • CreateFile() fails with INVALID_HANDLE_VALUE, not NULL - this fixes GetLastError() to more accurately point to the problem when diagnosing problems.
    • When message is not unicode then SendMessageA should be used. Fixes combobox in "Run..." dialog
    top

    Userinit


    • Report a logged-on user to the PnP-Manage
    top

    Usetup


    • Allow to choose between 800x600x16 and 640x480x8 as default resolution in first stage installer.
    top

    Win32k


    • Fixed declaration of NtUserGetKeyboardLayoutName
    • Update NtUserGetMouseMovePointsEx prototype to msdn
    • Addding new streach code for dib8, left to add it is dib1, dib4, dib24, dib32
    • Implement NtUserGetMenuBarInfo
    • Removed NtGdiDeleteDC
    • Removed NtGdiCheckColorsInGamut
    • Replaced NtGdiCreatePatternBrush and NtGdiCreateHatchBrush with NtGdiCreatePatternBrushInteral and NtGdiCreateHatchBrushInteral
    top

    Updated Translations


    top

    German


    • Msconfig
    • Servman
    top

    Hungarian


    • GetFirefox
    • SysSetup
    • Time/Date CPL
    top

    Polish


    • Devmgr
    top

    Spanish


    • SetupAPI
    • Taskmgr
    • Vmwinst
    • Winefile
    top

    Ukranian


    • Aclui
    • Devmgr
    • Mpr
    • Oleaut32
    • Userenv
    • Wininet
    • Winmm
    • Explorer
    • Reactos
    top

    New Translations


    top

    French


    • Access CPL
    • Appwiz CPL
    • Calc
    • Desk CPL
    • Expand
    • Format
    • GetFirefoxInternational CPL
    • RegSvr32
    • System
    • Userenv.dll
    • Winlogon

    German

    • Servman

    Italian

    • RosCMS

    Slovak

    • Keyboard Layout

    Spanish

    • iBrowser
    • Userinit

    Swedish

    • RosCMS

    Files added to BootCD

    • kbdur.dll (Ukrainian keyboard layout)

    Bugs Fixed

    • #187
    • #1073
    • #1099
    • #1107
    • #1109
    • #1116
    • #1124
    • #1126
    • #1130
    • #1131
    • #1139
    • #1149 (partially)
    • #1155
    • #1157
    • #1158
    • #1162
    • #1163
    • #1166
    • #1169
    • #1188
    • #1195
    • #1213
    • #1217
    • #1223
    • #1238
    • #1252

    New uploads to Press-Media:

    • Add initial presentation for MIT 100 Laptop.

    Vendor Drops

    • Dxdiagn
    • Wine 0.9.4 & 0.9.5
    • Libjpeg 6b

    WINE 0.9.3 and 0.9.4.. and 0.9.5!!

    Well, Wine 0.9.4 has been committed already, and 0.9.5 has just been released. Here's a rundown of what's changed:

    Wine 0.9.3

    • Many marshalling fixes in rpcrt4.
    • Various OLE improvements and fixes.
    • Better audio driver management in winecfg.
    • Many wininet fixes.
    • Several Web browser improvements.
    • More dbghelp APIs implemented.
    • Directory objects in wineserver.
    • Lots of bug fixes.

    Wine 0.9.4

    • Improvements to the IDL compiler.
    • Some infrastructure work for loadable driver support.
    • The usual assortment of Direct3D improvements.
    • IME support in the edit control.
    • Better support for AVI animations.
    • Debugging support improvements.
    • Relay top

      German


      • Msconfig
      • Servman

      Hungarian

      • GetFirefox
      • SysSetup
      • Time/Date CPL

      Polish

      • Devmgr

      Spanish

      • SetupAPI
      • Taskmgr
      • Vmwinst
      • Winefile

      Ukranian

      • Aclui
      • Devmgr
      • Mpr
      • Oleaut32
      • Userenv
      • Wininet
      • Winmm
      • Explorer
      • Reactos

      New Translations

      French

      • Access CPL
      • Appwiz CPL
      • Calc
      • Desk CPL
      • Expand
      • Format
      • GetFirefoxInternational CPL
      • RegSvr32
      • System
      • Userenv.dll
      • Winlogon

      German

      • Servman
      top

      Italian


      • RosCMS
      top

      Slovak


      • Keyboard Layout

      Spanish

      • iBrowser
      • Userinit

      Swedish

      • RosCMS

      Files added to BootCD

      • kbdur.dll (Ukrainian keyboard layout)

      Bugs Fixed

      • #187
      • #1073
      • #1099
      • #1107
      • #1109
      • #1116
      • #1124
      • #1126
      • #1130
      • #1131
      • #1139
      • #1149 (partially)
      • #1155
      • #1157
      • #1158
      • #1162
      • #1163
      • #1166
      • #1169
      • #1188
      • #1195
      • #1213
      • #1217
      • #1223
      • #1238
      • #1252

      New uploads to Press-Media:

      • Add initial presentation for MIT 100 Laptop.

      Vendor Drops

      • Dxdiagn
      • Wine 0.9.4 & 0.9.5
      • Libjpeg 6b

      WINE 0.9.3 and 0.9.4.. and 0.9.5!!

      Well, Wine 0.9.4 has been committed already, and 0.9.5 has just been released. Here's a rundown of what's changed:

      Wine 0.9.3

      • Many marshalling fixes in rpcrt4.
      • Various OLE improvements and fixes.
      • Better audio driver management in winecfg.
      • Many wininet fixes.
      • Several Web browser improvements.
      • More dbghelp APIs implemented.
      • Directory objects in wineserver.
      • Lots of bug fixes.

      Wine 0.9.4

      • Improvements to the IDL compiler.
      • Some infrastructure work for loadable driver support.
      • The usual assortment of Direct3D improvements.
      • top

        Spanish


        • SetupAPI
        • Taskmgr
        • Vmwinst
        • Winefile

        Ukranian

        • Aclui
        • Devmgr
        • Mpr
        • Oleaut32
        • Userenv
        • Wininet
        • Winmm
        • Explorer
        • Reactos

        New Translations

        French

        • Access CPL
        • Appwiz CPL
        • Calc
        • Desk CPL
        • Expand
        • Format
        • GetFirefoxInternational CPL
        • RegSvr32
        • System
        • Userenv.dll
        • Winlogon

        German

        • Servman

        Italian

        • RosCMS

        Slovak

        • Keyboard Layout

        Spanish

        • iBrowser
        • Userinit
        top

        Swedish


        • RosCMS
        top

        Files added to BootCD


        • kbdur.dll (Ukrainian keyboard layout)
        top

        Bugs Fixed


        • #187
        • #1073
        • #1099
        • #1107
        • #1109
        • #1116
        • #1124
        • #1126
        • #1130
        • #1131
        • #1139
        • #1149 (partially)
        • #1155
        • #1157
        • #1158
        • #1162
        • #1163
        • #1166
        • #1169
        • #1188
        • #1195
        • #1213
        • #1217
        • #1223
        • #1238
        • #1252
        top

        New uploads to Press-Media:


        • Add initial presentation for MIT 100 Laptop.
        top

        Vendor Drops


        • Dxdiagn
        • Wine 0.9.4 & 0.9.5
        • Libjpeg 6b
        top

        WINE 0.9.3 and 0.9.4.. and 0.9.5!!


        Well, Wine 0.9.4 has been committed already, and 0.9.5 has just been released. Here's a rundown of what's changed:

        top

        Wine 0.9.3


        • Many marshalling fixes in rpcrt4.
        • Various OLE improvements and fixes.
        • Better audio driver management in winecfg.
        • Many wininet fixes.
        • Several Web browser improvements.
        • More dbghelp APIs implemented.
        • Directory objects in wineserver.
        • Lots of bug fixes.
        top

        Wine 0.9.4


        • Improvements to the IDL compiler.
        • Some infrastructure work for loadable driver support.
        • The usual assortment of Direct3D improvements.
        • IME support in the edit control.
        • Better support for AVI animations.
        • Debugging support improvements.
        • Relay traces now work on NX platforms.
        top

        Wine 0.9.5


        • A number of MSI fixes.
        • More improvements to the IDL compiler.
        • Lots of bug fixes.
        top

        Next Week


        The worst time to think ahead to next week is 2am on a Monday Morning. That said, I'll come up with something, else I can rely on someone to hand me a bright spark until then!

        Until Next Week... Happy Compiling!

        Stuart "TwoTailedFox" Robbins

        ReactOS Weekly Newsletter Editor


        top

    ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.