Compare commits

...

21 Commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
12a5980aa7 [CLT2015]
Grab r66826, r66825, r66824, r66823, r66822, r66813, r66799 (WMI implementation), r66821, r66820 (NTVDM fixes), r66819, r66818 and other RAPPS fixes, plus r66807. And the PSDK fixes.

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66827
2015-03-19 23:51:20 +00:00
Amine Khaldi
34babdb8d6 [CLT2015] Grab r66812, r66814 and co (Rapps improvements).
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66817
2015-03-19 19:45:48 +00:00
Amine Khaldi
1a51e14f79 [CLT2015] Grab r66810 (Drive's properties Tools tab improvements).
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66811
2015-03-19 13:51:27 +00:00
Amine Khaldi
66b5cd01c7 [CLT2015] Do not register ntobjshex.dll.
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66809
2015-03-19 13:20:10 +00:00
Amine Khaldi
ffc300a886 [CLT2015] Grab r66795 (ieframe improvements).
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66796
2015-03-19 10:37:30 +00:00
Daniel Reimer
54c174c45d [EXPLORER]
Modify the Start menu banner a bit for CLT.

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66792
2015-03-18 19:09:42 +00:00
Cameron Gutman
c4c68841af Merge r66776-r66779 to fix networking issues on the Latitude D531
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66780
2015-03-18 06:06:34 +00:00
Daniel Reimer
fb8fffe9d7 [BOOTDATA]
Update readme to german

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66775
2015-03-18 00:22:00 +00:00
Daniel Reimer
feae0bb54b [RAPPS]
Add the most recent VC2005, 2008 and 2010 runtimes to rapps.
Add the new VC2012 and 2013 variants, too. LibreOffice will love you for that.

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66774
2015-03-18 00:18:44 +00:00
Hermès Bélusca-Maïto
87ec07730c [WALLPAPERS]: Since we don't have any mechanism at the moment to preselect a non-bitmap wallpaper to use, I'm forced to convert the wallpaper we want to use for CLT2015 to bitmap first, and then add its entry into the registry (I cannot just use the jpg file in the registry).
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66772
2015-03-18 00:04:32 +00:00
Hermès Bélusca-Maïto
b7e222cb93 Sync with trunk r66770. Fix whitespace in pnp.c
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66771
2015-03-17 23:55:16 +00:00
Hermès Bélusca-Maïto
8a2e0d5b50 [WALLPAPERS]: Commit some wallpapers for CLT2015.
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66769
2015-03-17 23:26:42 +00:00
Daniel Reimer
5d07e0d1a9 [RAPPS]
Here either

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66767
2015-03-17 22:38:15 +00:00
Daniel Reimer
c7726dc78f [WIN32K]
Can't resize in VirtualBox by swyter
CORE-6742 #comment Added to CLT-2015 branch. Let's see how it behaves ^^

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66764
2015-03-17 21:23:11 +00:00
Daniel Reimer
7a9bc5bce7 Apply r66762 to CLT branch.
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66763
2015-03-17 20:04:43 +00:00
Daniel Reimer
f141d69ba9 Revert r66709 and r66710 to get working sound again.
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66761
2015-03-17 19:35:17 +00:00
Daniel Reimer
60a8193eb4 [WDMAUD.DRV]
Hack around a ASSERT which can be cont'ed and makes using VLC a mess from time to time.

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66759
2015-03-17 18:08:06 +00:00
Daniel Reimer
d805b6acb9 [CMAKE]
Enable NSWPAT to build dxtn.dll for DX compression. We have no problem in Germany with that.

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66758
2015-03-17 18:06:57 +00:00
Hermès Bélusca-Maïto
0ea4ad2767 Sync with trunk r66750.
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66751
2015-03-17 01:27:57 +00:00
Hermès Bélusca-Maïto
84264c80ce [WELCOME]: Adapt the welcome autorum program by taking what was done for FOSDEM 2015 and doing little adjustments (see r66115, r66116, r66117 and r66121).
svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66731
2015-03-15 17:46:51 +00:00
Hermès Bélusca-Maïto
f9c6b5a774 [VERSION]: Update versioning for CLT 2015.
[BOOTDATA]: Add user-friendliness to the boot menu; fix the autorun path.
[CMAKE][BOOTDATA]: Flatten a bit the hybridcd tree otherwise some problems appear for the livecd (see r66114 for more details).

svn path=/branches/ReactOS-0.3.17-CLT2015/; revision=66730
2015-03-15 17:34:23 +00:00
112 changed files with 835 additions and 4235 deletions

View File

@@ -1,60 +0,0 @@
/* Bulgarian (BG) translation by Violin Iliev */
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Добре дошли"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Добре дошли в операционна система React.\n\nИзберете си от темите в ляво."
// IDS_CHECKTEXT "Показвай отново този прозорец"
// IDS_CLOSETEXT "Изход"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Инсталиране на ReactOS"
IDS_TOPICBUTTON1 "Разгледай това CD"
IDS_TOPICBUTTON2 "Изход"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Инсталиране на ReactOSS"
IDS_TOPICTITLE1 "Разгледай това CD"
IDS_TOPICTITLE2 "Изход"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Създаване на нова инсталация ня ReactOS или обновяване на съществуваща такава."
IDS_TOPICDESC1 "Разглеждане на CD-то."
IDS_TOPICDESC2 "Натиснете за изход от програмата."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Vítejte"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Vítejte v operačním systému ReactOS.\n\nKlepněte na tlačítko v levém sloupci."
// IDS_CHECKTEXT "Zobrazit dialog znovu"
// IDS_CLOSETEXT "Konec"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Instalovat ReactOS"
IDS_TOPICBUTTON1 "Prohlížet toto CD"
IDS_TOPICBUTTON2 "Konec"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Instalovat ReactOS"
IDS_TOPICTITLE1 "Prohlížet toto CD"
IDS_TOPICTITLE2 "Konec"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Nainstaluje ReactOS na Váš počítač nebo zaktualizuje existující systém."
IDS_TOPICDESC1 "Prohlížet toto CD."
IDS_TOPICDESC2 "Klepněte pro ukončení tohoto programu."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Velkommen"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Velkommen til ReactOS operativ System.\n\nKlik på et emne til venstre."
// IDS_CHECKTEXT "Vis denne dialog igen ved opstart"
// IDS_CLOSETEXT "Afslut"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Installer ReactOS"
IDS_TOPICBUTTON1 "Gennemse Cdrom"
IDS_TOPICBUTTON2 "Afslut"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Installer ReactOS"
IDS_TOPICTITLE1 "Gennemse Cdrom"
IDS_TOPICTITLE2 "Afslut"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Opret en ny ReactOS installation på din computer eller opgradere en eksisterende installation."
IDS_TOPICDESC1 "Gennemse ReactOS Installations Cdrom"
IDS_TOPICDESC2 "Klik på Afslut for at lukke."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,5 +1,3 @@
/* German (Austria) resources by Klemens Friedl (frik85 at hotmail dot com) */
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/* String Tables */
@@ -7,54 +5,58 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Willkommen"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Willkommen in ReactOS.\n\nKlicken Sie auf ein Thema auf der linken Seite."
// IDS_CHECKTEXT "Dialog beim nächsen Start wieder anzeigen"
// IDS_CLOSETEXT "Beenden"
IDS_APPTITLE "ReactOS 0.3.17+ - CLT 2015"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "ReactOS ist ein modernes Open-Source-Betriebssystem, welches auf dem Design von Windows® XP/2003 basiert. Dazu gehört sowohl die volle Kompatibilität mit Windows-Anwendungen und -Treibern als auch eine ähnliche Benutzeroberfläche, damit sich die meisten Anwender sofort zurechtfinden. Der Quellcode des gesamten Systems ist frei verfügbar und steht größtenteils unter der GNU General Public License."
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "ReactOS installieren"
IDS_TOPICBUTTON1 "CD durchsuchen"
IDS_TOPICBUTTON2 "Beenden"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
IDS_TOPICBUTTON0 "ReactOS installieren"
IDS_TOPICBUTTON1 "ReactOS in QEMU ausprobieren"
IDS_TOPICBUTTON2 "ReactOS Build Environment installieren"
IDS_TOPICBUTTON3 "ReactOS-Quellcodepaket öffnen"
IDS_TOPICBUTTON4 "Die ReactOS-Website besuchen"
IDS_TOPICBUTTON5 "Die CD durchsuchen"
IDS_TOPICBUTTON6 "Beenden"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "ReactOS installieren"
IDS_TOPICTITLE1 "CD durchsuchen"
IDS_TOPICTITLE2 "Beenden"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
IDS_TOPICTITLE0 "ReactOS installieren"
IDS_TOPICTITLE1 "ReactOS in QEMU ausprobieren"
IDS_TOPICTITLE2 "ReactOS Build Environment installieren"
IDS_TOPICTITLE3 "ReactOS-Quellcodepaket öffnen"
IDS_TOPICTITLE4 "Die ReactOS-Website besuchen"
IDS_TOPICTITLE5 "Die CD durchsuchen"
IDS_TOPICTITLE6 "Beenden"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Installiert ReactOS auf ihrem Computer oder aktualisiert eine bestehende Installation."
IDS_TOPICDESC1 "Die ReactOS-CD durchsuchen."
IDS_TOPICDESC2 "Klicken Sie, um dieses Programm zu beenden."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
IDS_TOPICDESC0 "Installiert ReactOS auf ihrem Computer.\n\nBitte beachten Sie, dass Sie Ihren Computer mit der ReactOS-CD im Laufwerk neu starten müssen, um die Installation zu starten.\n\nAlternativ können Sie ReactOS problemlos in einer virtuellen QEMU-Maschine ausprobieren, wenn Sie den entsprechenden Menüpunkt auf der linken Seite wählen."
IDS_TOPICDESC1 "Möglicherweise möchten Sie ein Betriebssystem im Alpha-Stadium nicht auf Ihrem eigenen Computer testen oder es gibt Probleme bei der Installation. Daher haben wir ReactOS auf einer virtuellen QEMU-Maschine vorinstalliert, mit der Sie das Betriebssystem problemlos testen können, ohne dass es direkt auf Ihrem Computer installiert werden muss.\n\nEin Klick auf diesen Menüpunkt öffnet das QEMU-Paket in 7-Zip."
IDS_TOPICDESC2 "Damit ReactOS so einfach wie möglich kompiliert werden kann, wurde das ReactOS Build Environment geschaffen. Dieses enthält die passenden Compiler-Versionen und alle nötigen Tools, um den gesamten ReactOS-Quellcode zu kompilieren.\n\nDie Windows-Version des Build Environments ist kompatibel mit Windows XP oder neueren Versionen. Sie wird über diesen Menüpunkt installiert.\nDie CD enthält auch das Build Environment für Unix-ähnliche Betriebssysteme, wie z.B. Linux oder Mac OS X.\n\nZusätzlich befindet sich auf dieser CD der Quellcode dieser ReactOS-Version."
IDS_TOPICDESC3 "Die CD enthält auch den gesamten Quellcode dieser ReactOS-Version, welcher mit dem ReactOS Build Environment kompiliert werden kann.\n\nEin Klick auf diesen Menüpunkt öffnet ihn in 7-Zip."
IDS_TOPICDESC4 "Die ReactOS-Website liefert viele weitere Informationen über das Projekt. Hier finden Sie die neusten ReactOS-Versionen und Neuigkeiten bezüglich der Entwicklung."
IDS_TOPICDESC5 "Durchsuchen Sie den Inhalt dieser CD."
IDS_TOPICDESC6 "Beendet das AutoRun-Programm."
END
/* Topic actions */
STRINGTABLE
BEGIN
IDS_TOPICACTION0 "<msg>Sie müssen Ihren Computer mit der ReactOS-CD im Laufwerk neu starten, um die Installation zu starten.\n\nBITTE BEACHTEN SIE: Es wird dringend davon abgeraten, ReactOS auf einem Computer zu installieren, welcher wichtige Daten enthält!"
IDS_TOPICACTION1 "\\extras\\ReactOS on QEMU\\ReactOS-0317-CLT2015-QEMU.7z"
IDS_TOPICACTION2 "\\extras\\ReactOS Build Environment\\RosBE-2.1.1.exe"
IDS_TOPICACTION3 "\\extras\\ReactOS Source Code\\ReactOS-0317-CLT2015-Source.7z"
IDS_TOPICACTION4 "https://www.reactos.org/"
IDS_TOPICACTION5 "explorer.exe"
IDS_TOPICACTION6 "<exit>"
END
/* EOF */

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Καλώς Ήλθατε"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Καλώς ήλθατε στο React Λειτουργικό Σύστημα.\n\nΕπιλέξτε ένα θέμα από το μενού στα αριστερά."
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Exit"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Εγκατάσταση του ReactOS"
IDS_TOPICBUTTON1 "Εξερεύνηση αυτού του CD"
IDS_TOPICBUTTON2 "Έξοδος"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Εγκατάσταση του ReactOS"
IDS_TOPICTITLE1 "Εξερεύνηση αυτού του CD"
IDS_TOPICTITLE2 "Έξοδος"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Δημιουργία νέας εγκατάστασης του ReactOS στον υπολογιστή ή αναβάθμιση μιας ήδη υπάρχουσας εγκατάστασης."
IDS_TOPICDESC1 "Εξερεύνηση αυτού του CD."
IDS_TOPICDESC2 "Πατήστε για να τερματίσετε την εφαρμογή αυτή."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -5,54 +5,57 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Welcome"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Welcome to React Operating System.\n\nClick a topic on the left."
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Exit"
IDS_APPTITLE "ReactOS 0.3.17+ - CLT 2015"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "ReactOS is a modern open source operating system based on the design of Windows® XP/2003. This encompasses full compatibility with Windows applications and drivers as well as a familiar user interface, such that people accustomed to Windows would find using ReactOS straightforward. The source code of the entire system is available for free under several open source licenses, mostly the GNU General Public License."
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Install ReactOS"
IDS_TOPICBUTTON1 "Browse this CD"
IDS_TOPICBUTTON2 "Exit"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
IDS_TOPICBUTTON0 "Install ReactOS"
IDS_TOPICBUTTON1 "Try out ReactOS in QEMU"
IDS_TOPICBUTTON2 "Install ReactOS Build Environment"
IDS_TOPICBUTTON3 "Open the ReactOS Source Code Package"
IDS_TOPICBUTTON4 "Visit the ReactOS Website"
IDS_TOPICBUTTON5 "Browse the CD"
IDS_TOPICBUTTON6 "Exit"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Install ReactOS"
IDS_TOPICTITLE1 "Browse this CD"
IDS_TOPICTITLE2 "Exit"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
IDS_TOPICTITLE0 "Install ReactOS"
IDS_TOPICTITLE1 "Try out ReactOS in QEMU"
IDS_TOPICTITLE2 "Install ReactOS Build Environment"
IDS_TOPICTITLE3 "Open the ReactOS Source Code Package"
IDS_TOPICTITLE4 "Visit the ReactOS Website"
IDS_TOPICTITLE5 "Browse the CD"
IDS_TOPICTITLE6 "Exit"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Create a new ReactOS installation on your computer or upgrade an existing installation."
IDS_TOPICDESC1 "Browse the CD."
IDS_TOPICDESC2 "Click to exit this application."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
IDS_TOPICDESC0 "Installs ReactOS on your computer.\n\nPlease note that you have to restart your computer with the ReactOS CD in the drive to start the installation.\n\nAlternatively, you can easily try out ReactOS in a QEMU virtual machine by choosing the respective menu entry on the left side."
IDS_TOPICDESC1 "Perhaps you don't want to try out an alpha-stage operating system on your own computer or you face problems during the installation. For these cases, we have preinstalled ReactOS on a QEMU virtual machine. This way, you can try out the operating system without needing to install it on your computer.\n\nA click on this menu entry opens the QEMU package in 7-Zip."
IDS_TOPICDESC2 "To make building ReactOS as easy as possible, the ReactOS Build Environment has been created. This contains the right compiler versions and all needed tools to compile the entire ReactOS Source Code.\n\nThe Windows version of the Build Environment is compatible with Windows XP or newer versions. It is installed using this menu entry.\n\nAdditionally, the source code of this ReactOS version is included on this CD."
IDS_TOPICDESC3 "The CD also contains the entire source code of this ReactOS version, which can be compiled using the ReactOS Build Environment.\n\nA click on this menu entry opens it in 7-Zip."
IDS_TOPICDESC4 "The ReactOS Website offers many more information about the project. Here you find the latest ReactOS releases and news regarding the development."
IDS_TOPICDESC5 "Browse the contents of this CD."
IDS_TOPICDESC6 "Exits the AutoRun program."
END
/* Topic actions */
STRINGTABLE
BEGIN
IDS_TOPICACTION0 "<msg>You have to restart your computer with the ReactOS CD in the drive to start the installation.\n\nPLEASE NOTE: You're highly advised to not install ReactOS on a computer that contains important data!"
IDS_TOPICACTION1 "\\extras\\ReactOS on QEMU\\ReactOS-0317-CLT2015-QEMU.7z"
IDS_TOPICACTION2 "\\extras\\ReactOS Build Environment\\RosBE-2.1.1.exe"
IDS_TOPICACTION3 "\\extras\\ReactOS Source Code\\ReactOS-0317-CLT2015-Source.7z"
IDS_TOPICACTION4 "https://www.reactos.org/"
IDS_TOPICACTION5 "explorer.exe"
IDS_TOPICACTION6 "<exit>"
END
/* EOF */

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bienvenido"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Bienvenido al Sistema Operativo React.\n\nHaz Click en una opción a la izquierda."
// IDS_CHECKTEXT "Mostrar este dialogo otra vez"
// IDS_CLOSETEXT "Salir"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Instalar ReactOS"
IDS_TOPICBUTTON1 "Explorar este CD"
IDS_TOPICBUTTON2 "Salir"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Instalar ReactOS"
IDS_TOPICTITLE1 "Explorar este CD"
IDS_TOPICTITLE2 "Salir"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Crear una nueva instalación de ReactOS en su PC o actualizar una instalación existente."
IDS_TOPICDESC1 "Explorar este CD."
IDS_TOPICDESC2 "Haz Click para salir de esta aplicación."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Tere tulemast"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Tere tulemast operatsioonisüsteemi ReactOS.\n\nVali teema vasakult."
// IDS_CHECKTEXT "Näita seda dialoogi veel"
// IDS_CLOSETEXT "Välju"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Paigalda ReactOS"
IDS_TOPICBUTTON1 "Sirvi CD sisu"
IDS_TOPICBUTTON2 "Välju"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Paigalda ReactOS"
IDS_TOPICTITLE1 "Sirvi CD sisu"
IDS_TOPICTITLE2 "Välju"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Paigalda ReactOS oma arvutisse või uuenda olemasolevat installatsiooni."
IDS_TOPICDESC1 "Sirvi CD sisu."
IDS_TOPICDESC2 "Vajuta, et väljuda."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -5,54 +5,57 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bienvenue"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Bienvenue sur le système d'exploitation ReactOS.\n\nCliquez sur une section à gauche."
// IDS_CHECKTEXT "Afficher cette boîte de dialogue de nouveau."
// IDS_CLOSETEXT "Quitter"
IDS_APPTITLE "ReactOS 0.3.17+ - CLT 2015"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "ReactOS est un système d'exploitation moderne basé sur le design de Windows® XP/2003. Cela signifie une compatibilité totale avec les applications écrites pour Windows, les pilotes de périphériques ainsi qu'une interface utilisateur familière, afin que les personnes habituées à utiliser Windows trouvent ReactOS simple d'utilisation. L'intégralité du code source du système d'exploitation est disponible gratuitement sous diverses licences open source, en majorité la GNU General Public License."
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Installer ReactOS"
IDS_TOPICBUTTON1 "Naviguer dans ce CD"
IDS_TOPICBUTTON2 "Quitter"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
IDS_TOPICBUTTON0 "Installer ReactOS"
IDS_TOPICBUTTON1 "Essayer ReactOS sous QEMU"
IDS_TOPICBUTTON2 "Installer ReactOS Build Environment"
IDS_TOPICBUTTON3 "Découvrir le code source de ReactOS"
IDS_TOPICBUTTON4 "Visiter le site Web de ReactOS"
IDS_TOPICBUTTON5 "Parcourir le CD"
IDS_TOPICBUTTON6 "Quitter"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Installer ReactOS"
IDS_TOPICTITLE1 "Naviguer dans ce CD"
IDS_TOPICTITLE2 "Quitter"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
IDS_TOPICTITLE0 "Installer ReactOS"
IDS_TOPICTITLE1 "Essayer ReactOS sous QEMU"
IDS_TOPICTITLE2 "Installer ReactOS Build Environment"
IDS_TOPICTITLE3 "Découvrir le code source de ReactOS"
IDS_TOPICTITLE4 "Visiter le site Web de ReactOS"
IDS_TOPICTITLE5 "Parcourir le CD"
IDS_TOPICTITLE6 "Quitter"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Crée une nouvelle installation de ReactOS sur votre ordinateur ou met à jour votre installation actuelle."
IDS_TOPICDESC1 "Explore le CD."
IDS_TOPICDESC2 "Cliquez pour quitter l'installation."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
IDS_TOPICDESC0 "Installe ReactOS sur votre ordinateur.\n\nVeuillez noter que vous aurez besoin de redémarrer votre ordinateur tout en ayant le CD de ReactOS inséré dans le lecteur afin de démarrer l'installation.\n\nAutrement, vous pouvez aisément essayer ReactOS dans une machine virtuelle QEMU en sélectionnant le bouton adéquat dans le menu à gauche."
IDS_TOPICDESC1 "Peut-être vous ne voulez pas essayer un système d'exploitation alpha sur votre propre ordinateur, ou bien vous faites face à des problèmes lors de l'installation. Afin de pallier à ces inconvénients, nous avons préinstallé ReactOS sur une machine virtuelle QEMU. Ainsi, vous pouvez essayer le système d'exploitation sans avoir besoin de l'installer sur votre ordinateur.\n\nUn clic sur ce bouton ouvre le package QEMU avec 7-Zip."
IDS_TOPICDESC2 "Afin de rendre la compilation de ReactOS aussi simple que possible, l'environnement de développement ReactOS (ReactOS Build Environment) a été créé. Il comprend les correctes versions des compilateurs ainsi que les outils nécessaires afin de compiler l'intégralité du code source de ReactOS.\n\nLa version Windows de l'environnement de développement est compatible avec Windows XP ou ultérieur. Elle est installée en cliquant sur ce bouton.\n\nEn supplément, le code source de cette version de ReactOS est inclus dans ce CD."
IDS_TOPICDESC3 "Ce CD contient aussi l'intégralité du code source de cette version de ReactOS qui peut être compilé en utilisant l'environnement de développement ReactOS.\n\nUn clic sur ce bouton ouvre l'archive avec 7-Zip."
IDS_TOPICDESC4 "Le site Web de ReactOS fournit plus d'informations à propos du projet. Vous y trouverez les dernières versions de ReactOS ainsi que des nouvelles concernant son développement."
IDS_TOPICDESC5 "Parcourir le contenu du CD."
IDS_TOPICDESC6 "Quitte le programme AutoRun."
END
/* Topic actions */
STRINGTABLE
BEGIN
IDS_TOPICACTION0 "<msg>Vous ne pouvez pas encore installer ReactOS directement depuis ce CD ! Veuillez redémarrer votre ordinateur depuis ce CD pour pouvoir installer ReactOS."
IDS_TOPICACTION1 "\\extras\\ReactOS on QEMU\\ReactOS-0317-CLT2015-QEMU.7z"
IDS_TOPICACTION2 "\\extras\\ReactOS Build Environment\\RosBE-2.1.1.exe"
IDS_TOPICACTION3 "\\extras\\ReactOS Source Code\\ReactOS-0317-CLT2015-Source.7z"
IDS_TOPICACTION4 "https://www.reactos.org/"
IDS_TOPICACTION5 "explorer.exe"
IDS_TOPICACTION6 "<exit>"
END
/* EOF */

View File

@@ -1,60 +0,0 @@
/* Translated by Baruch Rutman */
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ברוכים הבאים - ReactOS"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "ברוכים הבאים למערכת ההפעלה React,\nבחר נושא מצד ימין"
// IDS_CHECKTEXT "הראה חלון זה שוב"
// IDS_CLOSETEXT "יציאה"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "התקנת ReactOS"
IDS_TOPICBUTTON1 "סייר בתוכן הדיסק"
IDS_TOPICBUTTON2 "יציאה"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "התקנת ReactOS"
IDS_TOPICTITLE1 "סייר בתוכן הדיסק"
IDS_TOPICTITLE2 "יציאה"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "צור התקנה חדשה של ReactOS במחשבך או שדרג את ההתקנה הנוכחית."
IDS_TOPICDESC1 "סייר בתוכן הדיסק."
IDS_TOPICDESC2 "לחץ כדי לסגור יישום זה."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* Copyright 2005 Robert Horvath - Hungarian trasnlation - talley at cubeclub.hu */
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Üdvözlünk"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Üdvözlünk a React Operációs Rendszerben.\n\n"
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Kilépés"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "ReactOS telepítése"
IDS_TOPICBUTTON1 "A CD böngészése"
IDS_TOPICBUTTON2 "Kilépés"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "ReactOS telepítése"
IDS_TOPICTITLE1 "A CD böngészése"
IDS_TOPICTITLE2 "Kilépés"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "A ReactOS telepítése vagy frissítése."
IDS_TOPICDESC1 "A CD böngészése"
IDS_TOPICDESC2 "Kilépés"
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* Indonesian resources by Zaenal Mutaqin (ade999 at gmail dot com) */
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Selamat Datang"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Selamat datang di React Operating System.\n\nKlik topik di sisi kiri."
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Exit"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Instalasi ReactOS"
IDS_TOPICBUTTON1 "Lihat CD ini"
IDS_TOPICBUTTON2 "Keluar"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Instalasi ReactOS"
IDS_TOPICTITLE1 "Lihat CD ini"
IDS_TOPICTITLE2 "Keluar"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Buat instalasi baru ReactOS pada komputer anda atau tingkatkan instalasi yang sudah ada."
IDS_TOPICDESC1 "Lihat CD."
IDS_TOPICDESC2 "Klik untuk keluar aplikasi ini."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* It.rc by Roberto 'Speekix' Pellegrino */
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Benvenuto"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Benvenuto nel React Operating System.\n\nClicca su un argomento a sinistra."
// IDS_CHECKTEXT "Mostra ancora questa finestra"
// IDS_CLOSETEXT "Esci"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Installa ReactOS"
IDS_TOPICBUTTON1 "Esplora il CD"
IDS_TOPICBUTTON2 "Esci"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic Titolos */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Installa ReactOS"
IDS_TOPICTITLE1 "Esplora il CD"
IDS_TOPICTITLE2 "Esci"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Descrizione argomentos */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Crea una nuova installazione di ReactOS sul tuo computer o aggiorna l'installazione esistente."
IDS_TOPICDESC1 "Esplora il CD."
IDS_TOPICDESC2 "Clicca per uscire dall'applicazione."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Welcome"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "React へようこそ。\n\n左側のトピックをクリックしてください。"
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Exit"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "ReactOS をインストールする"
IDS_TOPICBUTTON1 "この CD を開く"
IDS_TOPICBUTTON2 "終了"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "ReactOS をインストールする"
IDS_TOPICTITLE1 "この CD を開く"
IDS_TOPICTITLE2 "終了"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "コンピュータに新しく ReactOS をインストールしたり、既存の ReactOS をアップグレードします。"
IDS_TOPICDESC1 "CD の内容を参照します。"
IDS_TOPICDESC2 "クリックするとこのアプリケーションを終了します。"
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* Translation by Vytis 'CMan' Girdžijauskas cman@cman.us */
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Sveiki"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Sveiki, čia React Operacinė Sistema.\n\nPasirinkite punktą kairėje."
// IDS_CHECKTEXT "Rodyti šį langą vėl"
// IDS_CLOSETEXT "Išeiti"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Įdiegti ReactOS"
IDS_TOPICBUTTON1 "Peržiūrėti šį CD"
IDS_TOPICBUTTON2 "Išeiti"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Įdiegti ReactOS"
IDS_TOPICTITLE1 "Peržiūrėti šį CD"
IDS_TOPICTITLE2 "Išeiti"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Įdiekite arba atnaujinkite ReactOS."
IDS_TOPICDESC1 "Peržiūrėti šį CD."
IDS_TOPICDESC2 "Paspauskite, kad išeitumėte iš programos."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Welkom"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Welkom bij het React Operation System.\n\nKlik links op een onderwerp."
// IDS_CHECKTEXT "Ga terug naar dit scherm"
// IDS_CLOSETEXT "Afsluiten"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Installeer ReactOS"
IDS_TOPICBUTTON1 "Deze CD Verkennen"
IDS_TOPICBUTTON2 "Afsluiten"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Installeer ReactOS"
IDS_TOPICTITLE1 "Deze CD Verkennen"
IDS_TOPICTITLE2 "Afsluiten"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Maak een nieuwe ReactOS installatie of upgrade een bestaande installatie."
IDS_TOPICDESC1 "Deze CD Verkennen."
IDS_TOPICDESC2 "Klik om dit programma af te sluiten."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Velkommen"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Velkommen til React Operativsystem.\n\nTrykk et emne til venstre."
// IDS_CHECKTEXT "Vis denne dialoget igjen"
// IDS_CLOSETEXT "Avslutt"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Innstaller ReactOS"
IDS_TOPICBUTTON1 "Utforsk denne CD"
IDS_TOPICBUTTON2 "Avslutt"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Innstaller ReactOS"
IDS_TOPICTITLE1 "Utforsk denne CD"
IDS_TOPICTITLE2 "Avslutt"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Opprett en ny ReactOS innstallasjon på din datamaskin eller oppgrader eksisterende innstallasjon."
IDS_TOPICDESC1 "Utforsk CDen."
IDS_TOPICDESC2 "Trykk avslutt for å avslutte denne applikasjonen."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,64 +0,0 @@
/*
* Translated by Polish Translation Team (Apr, 2007)
* https://sourceforge.net/projects/reactospl
* UTF-8 conversion by Caemyr (May, 2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Zapraszamy"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Witaj w systemie operacyjnym ReactOS.\n\nWybierz temat po lewej."
// IDS_CHECKTEXT "Pokaż ten dialog ponownie"
// IDS_CLOSETEXT "Wyjście"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Zainstaluj ReactOS"
IDS_TOPICBUTTON1 "Przeglądaj CD"
IDS_TOPICBUTTON2 "Wyjście"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Zainstaluj ReactOS"
IDS_TOPICTITLE1 "Przeglądaj CD"
IDS_TOPICTITLE2 "Wyjście"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Utwórz nową instalację ReactOS na komputerze lub aktualizuj już istniejącą."
IDS_TOPICDESC1 "Przeglądaj CD."
IDS_TOPICDESC2 "Kliknij, aby zakończyć aplikację."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bem vindo"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Bem vindo ao Sistema Operacional React (ReactOS).\n\nClique em um tópico à esquerda."
// IDS_CHECKTEXT "Exibir este diálogo novamente"
// IDS_CLOSETEXT "Sair"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Instalar ReactOS"
IDS_TOPICBUTTON1 "Examinar este CD"
IDS_TOPICBUTTON2 "Sair"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Instalar ReactOS"
IDS_TOPICTITLE1 "Examinar este CD"
IDS_TOPICTITLE2 "Sair"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Cria uma nova instalação do ReactOS em seu computador ou atualiza uma instalação já existente."
IDS_TOPICDESC1 "Exibe os arquivos contidos no CD."
IDS_TOPICDESC2 "Clique para fechar este aplicativo."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,65 +0,0 @@
/*
* FILE: base/setup/welcome/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum to fulea.stefan)
* CHANGE LOG: 2011-10-30 initial translation
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bun venit"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Bun venit în Sistemul de Operare React.\n\nAlegeți o opțiune din stânga."
// IDS_CHECKTEXT "Afișează acest dialog și altă dată"
// IDS_CLOSETEXT "Ieșire"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Instalare ReactOS"
IDS_TOPICBUTTON1 "Explorare CD"
IDS_TOPICBUTTON2 "Ieșire"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Instalare ReactOS"
IDS_TOPICTITLE1 "Explorare CD"
IDS_TOPICTITLE2 "Ieșire"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Creați o instalare nouă sau actualizați o instalare existentă."
IDS_TOPICDESC1 "Explorați conținutul acestui CD."
IDS_TOPICDESC2 "Apăsați pentru a ieși din aplicație."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,58 +0,0 @@
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Добро пожаловать!"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Добро пожаловать в ReactOS.\n\nВыберите пункт слева."
// IDS_CHECKTEXT "Показывать это окно снова"
// IDS_CLOSETEXT "Выход"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Установить ReactOS"
IDS_TOPICBUTTON1 "Обзор диска"
IDS_TOPICBUTTON2 "Выход"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Установить ReactOS"
IDS_TOPICTITLE1 "Обзор диска"
IDS_TOPICTITLE2 "Выход"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Установит ReactOS на Ваш компьютер с нуля или обновит уже установленную версию."
IDS_TOPICDESC1 "Обзор диска."
IDS_TOPICDESC2 "Выберите для выхода из этого приложения."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* Slovak translation by Kario 2007 <kario@szm.sk> */
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Vitajte"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Vitajte v operačnom systéme ReactOS.\n\nKliknite na tlačidlo v ľavom stĺpci."
// IDS_CHECKTEXT "Zobraziť toto okno aj nabudúce"
// IDS_CLOSETEXT "Koniec"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Inštalovať ReactOS"
IDS_TOPICBUTTON1 "Prezerať toto CD"
IDS_TOPICBUTTON2 "Koniec"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Inštalovať ReactOS"
IDS_TOPICTITLE1 "Prezerať toto CD"
IDS_TOPICTITLE2 "Koniec"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Nainštaluje ReactOS na Váš počítač alebo zaktualizuje už existujúci systém."
IDS_TOPICDESC1 "Prezerať toto CD."
IDS_TOPICDESC2 "Kliknutím ukončíte tento program."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,62 +0,0 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Mirë se vini"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Mirë se vini në Sistemin Operative React.\n\nKliko në një topik në të majtë."
// IDS_CHECKTEXT "Trego këtë dialog përsëri"
// IDS_CLOSETEXT "Dil"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Instalo ReactOS"
IDS_TOPICBUTTON1 "Shfleto këtë CD"
IDS_TOPICBUTTON2 "Dil"
// IDS_TOPICBUTTON3 "Temë bosh 3"
// IDS_TOPICBUTTON4 "Temë bosh 4"
// IDS_TOPICBUTTON5 "Temë bosh 5"
// IDS_TOPICBUTTON6 "Temë bosh 6"
// IDS_TOPICBUTTON7 "Temë bosh 7"
// IDS_TOPICBUTTON8 "Temë bosh 8"
// IDS_TOPICBUTTON9 "Temë bosh 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Instalo ReactOS"
IDS_TOPICTITLE1 "Shfleto këtë CD"
IDS_TOPICTITLE2 "Dil"
// IDS_TOPICTITLE3 "Titull teme bosh 3"
// IDS_TOPICTITLE4 "Titull teme bosh 4"
// IDS_TOPICTITLE5 "Titull teme bosh 5"
// IDS_TOPICTITLE6 "Titull teme bosh 6"
// IDS_TOPICTITLE7 "Titull teme bosh 7"
// IDS_TOPICTITLE8 "Titull teme bosh 8"
// IDS_TOPICTITLE9 "Titull teme bosh 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Krijo një instalim ose përmirësim të ReactOS'it në instalimin ekzistues në kompjuterin tuaj."
IDS_TOPICDESC1 "Shfleto këtë CD."
IDS_TOPICDESC2 "Kliko për të dalë nga ky program."
// IDS_TOPICDESC3 "Përshkrimi i Temës 3.\n\nPërshkrimi i Temës 3 Këtu."
// IDS_TOPICDESC4 "Përshkrimi i Temës 4.\n\nPërshkrimi i Temës 4 Këtu."
// IDS_TOPICDESC5 "Përshkrimi i Temës 5.\n\nPërshkrimi i Temës 5 Këtu."
// IDS_TOPICDESC6 "Përshkrimi i Temës 6.\n\nPërshkrimi i Temës 6 Këtu."
// IDS_TOPICDESC7 "Përshkrimi i Temës 7.\n\nPërshkrimi i Temës 7 Këtu."
// IDS_TOPICDESC8 "Përshkrimi i Temës 8.\n\nPërshkrimi i Temës 8 Këtu."
// IDS_TOPICDESC9 "Përshkrimi i Temës 9.\n\nPërshkrimi i Temës 9 Këtu."
END

View File

@@ -1,60 +0,0 @@
/* Swedish (SE) translation by David Nordenberg */
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Välkommen"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Välkommen till React Operating System.\n\nKlicka på ett avsnitt till vänster."
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Exit"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Installera ReactOS"
IDS_TOPICBUTTON1 "Utforska skivan"
IDS_TOPICBUTTON2 "Avsluta"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Installera ReactOS"
IDS_TOPICTITLE1 "Utforska skivan"
IDS_TOPICTITLE2 "Avsluta"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Skapa en ny ReactOS installation på den här datorn eller uppgradera en befintlig."
IDS_TOPICDESC1 "Utforska skivan."
IDS_TOPICDESC2 "Avsluta det här programmet."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,65 +0,0 @@
/*
* PROJECT: ReactOS welcome/autorun application
* LICENSE: See COPYING in the top level directory
* FILE: base/setup/welcome/lang/th-TH.rc
* TRANSLATOR: Sumath Aowsakulsutthi
*/
LANGUAGE LANG_THAI, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - ยินดีต้อนรับ"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "ยินดีต้อนรับสู่ระบบปฏิบัติการ React \n\nกดเลือกเนื้อหาบนแถบซ้ายมือ"
// IDS_CHECKTEXT "แสดงคำแนะนำอีกครั้ง"
// IDS_CLOSETEXT "ออกจากโปรแกรม"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "ติดตั้ง ReactOS"
IDS_TOPICBUTTON1 "ดูรายละเอียดของแผ่นซีดีนี้"
IDS_TOPICBUTTON2 "ออกจากโปรแกรม"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "ติดตั้ง ReactOS"
IDS_TOPICTITLE1 "ดูรายละเอียดของแผ่นซีดีนี้"
IDS_TOPICTITLE2 "ออกจากโปรแกรม"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "คุณต้องการติดตั้ง ReactOS ลงในเครื่องคอมพิวเตอร์ของคุณ\n\nหรือต้องการปรับแต่งเพิ่มเติมจากที่มีอยู่เดิม."
IDS_TOPICDESC1 "ดูรายละเอียดของแผ่นซีดีนี้."
IDS_TOPICDESC2 "กดเลือกที่นี่เพื่อต้องการออกจากการติดตั้ง."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Hoş Geldiniz"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "React İşletim Dizgesi'ne hoş geldiniz.\n\nSolda bir konuya tıklayınız."
// IDS_CHECKTEXT "Bu iletiyi yine göster."
// IDS_CLOSETEXT "Çıkış"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "ReactOS'u Kur"
IDS_TOPICBUTTON1 "Bu CD'yi Araştır"
IDS_TOPICBUTTON2 "Çıkış"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "ReactOS'u Kur"
IDS_TOPICTITLE1 "Bu CD'yi Araştır"
IDS_TOPICTITLE2 "Çıkış"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Bilgisayarınıza yeni bir ReactOS yükleyiniz ya da var olan bir yüklemeyi yükseltiniz."
IDS_TOPICDESC1 "CD'yi araştır."
IDS_TOPICDESC2 "Bu uygulamadan çıkmak için tıklayınız."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* Ukrainian translation by Artem Reznikov */
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Ласкаво просимо"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "Ласкаво просимо до операційної системи ReactOS.\n\nКлацніть по темі ліворуч"
// IDS_CHECKTEXT "Показувати цей діалог знов"
// IDS_CLOSETEXT "Вихід"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "Встановлення ReactOS"
IDS_TOPICBUTTON1 "Огляд цього CD"
IDS_TOPICBUTTON2 "Вихід"
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "Встановлення ReactOS"
IDS_TOPICTITLE1 "Огляд цього CD"
IDS_TOPICTITLE2 "Вихід"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "Створення нової інсталяції ReactOS на Вашому комп'ютері чи оновлення існуючої інсталяції."
IDS_TOPICDESC1 "Проглянути CD."
IDS_TOPICDESC2 "Натисніть для виходу з цієї програми."
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -1,60 +0,0 @@
/* Simplified Chinese translation by zhangbing <e_zb@21cn.com, ezb@mail.gywb.cn> */
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/* String Tables */
/* Default settings */
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - 欢迎"
IDS_DEFAULTTOPICTITLE "ReactOS"
IDS_DEFAULTTOPICDESC "欢迎使用 React 操作系统。\n\n 请点击左边的主题。"
// IDS_CHECKTEXT "Show this dialog again"
// IDS_CLOSETEXT "Exit"
END
/* Topic buttons */
STRINGTABLE
BEGIN
IDS_TOPICBUTTON0 "安装 ReactOS"
IDS_TOPICBUTTON1 "浏览 CD"
IDS_TOPICBUTTON2 "退出 "
// IDS_TOPICBUTTON3 "Empty Topic 3"
// IDS_TOPICBUTTON4 "Empty Topic 4"
// IDS_TOPICBUTTON5 "Empty Topic 5"
// IDS_TOPICBUTTON6 "Empty Topic 6"
// IDS_TOPICBUTTON7 "Empty Topic 7"
// IDS_TOPICBUTTON8 "Empty Topic 8"
// IDS_TOPICBUTTON9 "Empty Topic 9"
END
/* Topic titles */
STRINGTABLE
BEGIN
IDS_TOPICTITLE0 "安装 ReactOS"
IDS_TOPICTITLE1 "浏览 CD"
IDS_TOPICTITLE2 "退出"
// IDS_TOPICTITLE3 "Empty Topic Title 3"
// IDS_TOPICTITLE4 "Empty Topic Title 4"
// IDS_TOPICTITLE5 "Empty Topic Title 5"
// IDS_TOPICTITLE6 "Empty Topic Title 6"
// IDS_TOPICTITLE7 "Empty Topic Title 7"
// IDS_TOPICTITLE8 "Empty Topic Title 8"
// IDS_TOPICTITLE9 "Empty Topic Title 9"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
IDS_TOPICDESC0 "重新安装 ReactOS 或 更新你的ReactOS 。"
IDS_TOPICDESC1 "浏览 CD 的内容。"
IDS_TOPICDESC2 "点击退出应用程序。"
// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here."
// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here."
// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here."
// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here."
// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here."
// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here."
// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here."
END

View File

@@ -30,107 +30,15 @@ IDB_TOPICBITMAP8 BITMAP "res/topic8.bmp"
IDB_TOPICBITMAP9 BITMAP "res/topic9.bmp"
*/
/* Topic actions */
STRINGTABLE
BEGIN
IDS_TOPICACTION0 "reactos.exe"
IDS_TOPICACTION1 "explorer.exe"
IDS_TOPICACTION2 "<exit>" /* this quits the app */
/*
IDS_TOPICACTION3 "..."
IDS_TOPICACTION4 "..."
IDS_TOPICACTION5 "..."
IDS_TOPICACTION6 "..."
IDS_TOPICACTION7 "..."
IDS_TOPICACTION8 "..."
IDS_TOPICACTION9 "..."
*/
END
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif
#ifdef LANGUAGE_CS_CZ
#include "lang/cs-CZ.rc"
#endif
#ifdef LANGUAGE_DA_DK
#include "lang/da-DK.rc"
#endif
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EL_GR
#include "lang/el-GR.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/es-ES.rc"
#endif
#ifdef LANGUAGE_ET_EE
#include "lang/et-EE.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#ifdef LANGUAGE_HE_IL
#include "lang/he-IL.rc"
#endif
#ifdef LANGUAGE_HU_HU
#include "lang/hu-HU.rc"
#endif
#ifdef LANGUAGE_ID_ID
#include "lang/id-ID.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
#ifdef LANGUAGE_LT_LT
#include "lang/lt-LT.rc"
#endif
#ifdef LANGUAGE_NB_NO
#include "lang/no-NO.rc"
#endif
#ifdef LANGUAGE_NL_NL
#include "lang/nl-NL.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SQ_AL
#include "lang/sq-AL.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TH_TH
#include "lang/th-TH.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -34,8 +34,8 @@ add_custom_target(livecd
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "")
#create the empty Desktop and Start Menu folders
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Desktop\n")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs\n")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "Profiles/Default User/Desktop\n")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "Profiles/Default User/Start Menu/Programs\n")
add_custom_target(hybridcd
COMMAND native-cdmake -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin @${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst REACTOS ${REACTOS_BINARY_DIR}/hybridcd.iso

View File

@@ -1,3 +1,3 @@
[autorun]
open=reactos\welcome.exe
open=setup\reactos\welcome.exe
icon=icon.ico

View File

@@ -64,7 +64,7 @@ HKCU,"Control Panel\Desktop","ScreenSaverIsSecure",2,"1"
HKCU,"Control Panel\Desktop","ScreenSaveTimeOut",0,"600"
HKCU,"Control Panel\Desktop","WaitToKillAppTimeout",2,"20000"
HKCU,"Control Panel\Desktop","Pattern",2,"(None)"
HKCU,"Control Panel\Desktop","Wallpaper",0x00000000,""
HKCU,"Control Panel\Desktop","Wallpaper",0x00000000,"%SystemRoot%\Web\Wallpaper\ReactOS_CirclesGold.bmp"
HKCU,"Control Panel\Desktop","TileWallpaper",2,"0"
HKCU,"Control Panel\Desktop","WallpaperStyle",2,"0"
HKCU,"Control Panel\Desktop","FontSmoothing",0,"1"

View File

@@ -1,9 +1,9 @@
[FREELOADER]
DefaultOS=Setup
TimeOut=5
DefaultOS=LiveCD_RamDisk
TimeOut=20
[Display]
TitleText=ReactOS Hybrid-CD
TitleText=ReactOS 0.3.17 Hybrid-CD - CLT 2015
StatusBarColor=Cyan
StatusBarTextColor=Black
BackdropTextColor=White
@@ -13,62 +13,33 @@ TitleBoxTextColor=White
TitleBoxColor=Red
MessageBoxTextColor=White
MessageBoxColor=Blue
MenuTextColor=Gray
MenuColor=Black
TextColor=Gray
MenuTextColor=White
MenuColor=Blue
TextColor=Yellow
SelectedTextColor=Black
SelectedColor=Gray
ShowTime=No
MenuBox=No
CenterMenu=No
MinimalUI=Yes
TimeText=Seconds until highlighted choice will be started automatically:
SpecialEffects=Yes
[Operating Systems]
Setup="Setup"
LiveCD="LiveCD"
LiveCD_Debug="LiveCD (Debug)"
LiveCD_Screen="LiveCD (Screen)"
LiveCD_LogFile="LiveCD (Log file)"
LiveCD_RamDisk="LiveCD in RAM"
LiveCD_RamDisk_Debug="LiveCD in RAM (Debug)"
LiveCD_RamDisk_Screen="LiveCD in RAM (Screen)"
Setup="ReactOS Setup"
LiveCD="ReactOS Live"
LiveCD_RamDisk="ReactOS Live in RAM"
HddBoot="Boot from first hard disk"
[Setup]
BootType=ReactOSSetup
SystemPath=\bootcd
SystemPath=\setup
[LiveCD]
BootType=Windows2003
SystemPath=\livecd\reactos
Options=/MININT
[LiveCD_Debug]
BootType=Windows2003
SystemPath=\livecd\reactos
SystemPath=\reactos
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT
[LiveCD_Screen]
BootType=Windows2003
SystemPath=\livecd\reactos
Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT
[LiveCD_LogFile]
BootType=Windows2003
SystemPath=\livecd\reactos
Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT
[LiveCD_RamDisk]
BootType=Windows2003
SystemPath=ramdisk(0)\reactos
Options=/MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT /RDPATH=livecd.iso /RDEXPORTASCD
[LiveCD_RamDisk_Debug]
BootType=Windows2003
SystemPath=ramdisk(0)\reactos
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD
[LiveCD_RamDisk_Screen]
BootType=Windows2003
SystemPath=ramdisk(0)\reactos
Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD
[HddBoot]
BootType=Drive
BootDrive=hd0

View File

@@ -1,55 +1,25 @@
========================
ReactOS<EFBFBD> Version 0.3.x
Updated March 3, 2013
========================
===========================================================================
ReactOS Version 0.4 Preview
für die Chemnitzer Linux-Tage 2015
===========================================================================
1. What is ReactOS?
-------------------
Willkommen zu ReactOS!
ReactOS<EFBFBD> is an Open Source effort to develop a quality operating system that is
compatible with applications and drivers written for the Microsoft<66> Windows<77> NT
family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
CD-INHALT:
Website: http://www.reactos.org
* ReactOS Live-System/Installation
* ReactOS in einer virtuellen QEMU-Maschine
* ReactOS Build Environment (RosBE)
* Quellcode
Diese CD sollte unter Windows ein AutoRun-Programm starten. Alternativ
können Sie sich den CD-Inhalt über einen Dateibrowser anschauen.
Die Ordnernamen sollten selbsterklärend sein.
2. Relationship with the WINE project
-------------------------------------
Der gesamte Quellcode des Betriebssystems lässt sich unter Einsatz des
ReactOS Build Environments sowohl unter Windows als auch unter
Unix-ähnlichen Betriebssystemen wie Linux kompilieren.
ReactOS has always intended to work with the WINE project to share as much
programming effort as possible. This mainly concerns User Mode DLLs and
still happens to a degree today. Other areas of cooperation lie in
applications and testing suites.
Weitere Informationen über ReactOS finden Sie unter www.reactos.org!
3. Future compatibility
-----------------------
The ReactOS project, although currently focused on Windows Server 2003
compatibility, is always keeping an eye toward compatibility with
Windows Vista and future Windows NT releases.
4. Supporting other System Applications
---------------------------------------
The Windows NT architecture allows for subsystems, as does the ReactOS
architecture. A subsystem is an implementation of the APIs of another
operating system, allowing ReactOS to run applications from other systems.
We are already looking at subsystems for: Java, OS/2, and DOS and possibly
others in the future.
5. Tutorials
------------
Developer and User Tutorials: http://www.reactos.org/wiki
The tutorials contain more information on the project, compiling and testing
ReactOS - amongst other topics. Contributors to the project are always welcome.
6. Author
---------
This document was written by Jason Filby (jasonfilby@yahoo.com).
===========================================================================

View File

@@ -310,7 +310,7 @@ function(add_cd_file)
set_property(GLOBAL APPEND PROPERTY BOOTCD_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}")
#add it also into the hybridcd if not specified otherwise
if(NOT _CD_NOT_IN_HYBRIDCD)
set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "bootcd/${_CD_DESTINATION}/${__file}=${item}")
set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "setup/${_CD_DESTINATION}/${__file}=${item}")
endif()
endforeach()
if(_CD_TARGET)
@@ -349,7 +349,7 @@ function(add_cd_file)
set_property(GLOBAL APPEND PROPERTY LIVECD_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}")
#add it also into the hybridcd if not specified otherwise
if(NOT _CD_NOT_IN_HYBRIDCD)
set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "livecd/${_CD_DESTINATION}/${__file}=${item}")
set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}")
endif()
endforeach()
endif() #end livecd
@@ -425,7 +425,7 @@ function(create_iso_lists)
add_cd_file(
FILE ${CMAKE_CURRENT_BINARY_DIR}/livecd.iso
DESTINATION livecd
DESTINATION root
FOR hybridcd)
get_property(_filelist GLOBAL PROPERTY BOOTCD_FILE_LIST)

View File

@@ -58,7 +58,7 @@ set(_ELF_ FALSE CACHE BOOL
"Whether to compile support for ELF files.
Do not enable unless you know what you're doing.")
set(NSWPAT FALSE CACHE BOOL
set(NSWPAT TRUE CACHE BOOL
"Whether to build apps/libs with features covered by software patents.
If you live in a country where software patents are valid/apply, don't
enable this (except they/you purchased a license from the patent owner).

View File

@@ -22,7 +22,6 @@
#include <ole2.h>
#include <exdisp.h>
#include <shlwapi.h>
#include <wine/atlwin.h>
typedef struct IOCS {
@@ -40,8 +39,6 @@ typedef struct IOCS {
BOOL fActive, fInPlace, fWindowless;
} IOCS;
static const WCHAR wine_atl_iocsW[] = {'_','_','W','I','N','E','_','A','T','L','_','I','O','C','S','\0'};
/**********************************************************************
* AtlAxWin class window procedure
*/
@@ -137,7 +134,7 @@ static HRESULT IOCS_Detach( IOCS *This ) /* remove subclassing */
if ( This->hWnd )
{
SetWindowLongPtrW( This->hWnd, GWLP_WNDPROC, (ULONG_PTR) This->OrigWndProc );
RemovePropW( This->hWnd, wine_atl_iocsW);
SetWindowLongPtrW( This->hWnd, GWLP_USERDATA, 0 );
This->hWnd = NULL;
}
if ( This->control )
@@ -893,7 +890,7 @@ static LRESULT IOCS_OnWndProc( IOCS *This, HWND hWnd, UINT uMsg, WPARAM wParam,
static LRESULT CALLBACK AtlHost_wndproc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )
{
IOCS *This = (IOCS*) GetPropW( hWnd, wine_atl_iocsW );
IOCS *This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA );
return IOCS_OnWndProc( This, hWnd, wMsg, wParam, lParam );
}
@@ -902,7 +899,7 @@ static HRESULT IOCS_Attach( IOCS *This, HWND hWnd, IUnknown *pUnkControl ) /* su
This->hWnd = hWnd;
IUnknown_QueryInterface( pUnkControl, &IID_IOleObject, (void**)&This->control );
IOleObject_SetClientSite( This->control, &This->IOleClientSite_iface );
SetPropW( hWnd, wine_atl_iocsW, This );
SetWindowLongPtrW( hWnd, GWLP_USERDATA, (ULONG_PTR) This );
This->OrigWndProc = (WNDPROC)SetWindowLongPtrW( hWnd, GWLP_WNDPROC, (ULONG_PTR) AtlHost_wndproc );
return S_OK;
@@ -976,48 +973,6 @@ HRESULT WINAPI AtlAxCreateControl(LPCOLESTR lpszName, HWND hWnd,
NULL, NULL, NULL );
}
enum content
{
IsEmpty = 0,
IsGUID = 1,
IsHTML = 2,
IsURL = 3,
IsUnknown = 4
};
static enum content get_content_type(LPCOLESTR name, CLSID *control_id)
{
WCHAR new_urlW[MAX_PATH];
DWORD size = MAX_PATH;
WCHAR mshtml_prefixW[] = {'m','s','h','t','m','l',':','\0'};
if (!name || !name[0])
{
WARN("name %s\n", wine_dbgstr_w(name));
return IsEmpty;
}
if (CLSIDFromString(name, control_id) == S_OK ||
CLSIDFromProgID(name, control_id) == S_OK)
return IsGUID;
if (PathIsURLW (name) ||
UrlApplySchemeW(name, new_urlW, &size, URL_APPLY_GUESSSCHEME|URL_APPLY_GUESSFILE) == S_OK)
{
*control_id = CLSID_WebBrowser;
return IsURL;
}
if (!strncmpiW(name, mshtml_prefixW, 7))
{
FIXME("mshtml prefix not implemented\n");
*control_id = CLSID_WebBrowser;
return IsHTML;
}
return IsUnknown;
}
/***********************************************************************
* AtlAxCreateControlEx [atl100.@]
*
@@ -1032,24 +987,24 @@ HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR lpszName, HWND hWnd,
CLSID controlId;
HRESULT hRes;
IOleObject *pControl;
IUnknown *pUnkControl = NULL;
IUnknown *pUnkControl;
IPersistStreamInit *pPSInit;
IUnknown *pContainer = NULL;
enum content content;
IUnknown *pContainer;
enum {IsGUID=0,IsHTML=1,IsURL=2} content;
TRACE("(%s %p %p %p %p %p %p)\n", debugstr_w(lpszName), hWnd, pStream,
ppUnkContainer, ppUnkControl, iidSink, punkSink);
if (ppUnkContainer) *ppUnkContainer = NULL;
if (ppUnkControl) *ppUnkControl = NULL;
content = get_content_type(lpszName, &controlId);
if (content == IsEmpty)
return S_OK;
if (content == IsUnknown)
return CO_E_CLASSSTRING;
hRes = CLSIDFromString( lpszName, &controlId );
if ( FAILED(hRes) )
hRes = CLSIDFromProgID( lpszName, &controlId );
if ( SUCCEEDED( hRes ) )
content = IsGUID;
else {
/* FIXME - check for MSHTML: prefix! */
content = IsURL;
controlId = CLSID_WebBrowser;
}
hRes = CoCreateInstance( &controlId, 0, CLSCTX_ALL, &IID_IOleObject,
(void**) &pControl );
@@ -1166,6 +1121,7 @@ static LPDLGTEMPLATEW AX_ConvertDialogTemplate(LPCDLGTEMPLATEW src_tmpl)
#define GET_DWORD(x) (*(const DWORD *)(x))
#define PUT_BLOCK(x,y) do {if (!advance_array(&output, &allocated, &filled, (x), (y))) return NULL;} while (0)
#define PUT_WORD(x) do {WORD w = (x);PUT_BLOCK(&w, 1);} while(0)
#define PUT_DWORD(x) do {DWORD w = (x);PUT_BLOCK(&w, 2);} while(0)
const WORD *tmp, *src = (const WORD *)src_tmpl;
WORD *output;
DWORD allocated, filled; /* in WORDs */
@@ -1357,7 +1313,7 @@ HRESULT WINAPI AtlAxGetHost(HWND hWnd, IUnknown **host)
*host = NULL;
This = (IOCS*) GetPropW( hWnd, wine_atl_iocsW );
This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA );
if ( !This )
{
WARN("No container attached to %p\n", hWnd );
@@ -1379,7 +1335,7 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
*pUnk = NULL;
This = (IOCS*) GetPropW( hWnd, wine_atl_iocsW );
This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA );
if ( !This || !This->control )
{
WARN("No control attached to %p\n", hWnd );

View File

@@ -183,7 +183,7 @@ static HRESULT do_preprocess(const Registrar *This, LPCOLESTR data, strbuf *buf)
static HRESULT do_process_key(LPCOLESTR *pstr, HKEY parent_key, strbuf *buf, BOOL do_register)
{
LPCOLESTR iter;
LPCOLESTR iter = *pstr;
HRESULT hres;
LONG lres;
HKEY hkey = 0;
@@ -379,7 +379,7 @@ static HRESULT do_process_root_key(LPCOLESTR data, BOOL do_register)
{
LPCOLESTR iter = data;
strbuf buf;
HRESULT hres;
HRESULT hres = S_OK;
unsigned int i;
strbuf_init(&buf);

View File

@@ -446,12 +446,13 @@ static HRESULT WINAPI IAVIFile_fnDeleteStream(IAVIFile *iface, DWORD fccType, LO
This->ppStreams[nStream] != NULL) {
/* ... so delete it now */
HeapFree(GetProcessHeap(), 0, This->ppStreams[nStream]);
This->fInfo.dwStreams--;
if (nStream < This->fInfo.dwStreams)
memmove(&This->ppStreams[nStream], &This->ppStreams[nStream + 1],
(This->fInfo.dwStreams - nStream) * sizeof(This->ppStreams[0]));
if (This->fInfo.dwStreams - nStream > 0)
memcpy(This->ppStreams + nStream, This->ppStreams + nStream + 1,
(This->fInfo.dwStreams - nStream) * sizeof(IAVIStreamImpl*));
This->ppStreams[This->fInfo.dwStreams] = NULL;
This->fInfo.dwStreams--;
This->fDirty = TRUE;
/* This->fInfo will be updated further when asked for */
@@ -1405,21 +1406,11 @@ static HRESULT AVIFILE_AddRecord(IAVIFileImpl *This)
/* pre-conditions */
assert(This != NULL && This->ppStreams[0] != NULL);
if (This->idxRecords == NULL || This->cbIdxRecords / sizeof(AVIINDEXENTRY) <= This->nIdxRecords) {
DWORD new_count = This->cbIdxRecords + 1024 * sizeof(AVIINDEXENTRY);
void *mem;
if (!This->idxRecords)
mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, new_count);
else
mem = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->idxRecords, new_count);
if (mem) {
This->cbIdxRecords = new_count;
This->idxRecords = mem;
} else {
HeapFree(GetProcessHeap(), 0, This->idxRecords);
This->idxRecords = NULL;
if (This->idxRecords == NULL || This->cbIdxRecords == 0) {
This->cbIdxRecords += 1024 * sizeof(AVIINDEXENTRY);
This->idxRecords = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->cbIdxRecords);
if (This->idxRecords == NULL)
return AVIERR_MEMORY;
}
}
assert(This->nIdxRecords < This->cbIdxRecords/sizeof(AVIINDEXENTRY));
@@ -1451,7 +1442,7 @@ static DWORD AVIFILE_ComputeMoviStart(IAVIFileImpl *This)
dwPos += ((pStream->cbFormat + 1) & ~1U);
if (pStream->lpHandlerData != NULL && pStream->cbHandlerData > 0)
dwPos += 2 * sizeof(DWORD) + ((pStream->cbHandlerData + 1) & ~1U);
if (pStream->sInfo.szName[0])
if (lstrlenW(pStream->sInfo.szName) > 0)
dwPos += 2 * sizeof(DWORD) + ((lstrlenW(pStream->sInfo.szName) + 1) & ~1U);
}
@@ -2210,7 +2201,7 @@ static HRESULT AVIFILE_SaveFile(IAVIFileImpl *This)
}
/* ... an optional name for this stream ... */
if (pStream->sInfo.szName[0]) {
if (lstrlenW(pStream->sInfo.szName) > 0) {
LPSTR str;
ck.ckid = ckidSTREAMNAME;

View File

@@ -152,9 +152,10 @@ static HRESULT AVIFILE_RemoveStream(IAVIEditStreamImpl* const This, DWORD nr)
/* remove part nr */
IAVIStream_Release(This->pStreams[nr].pStream);
This->nStreams--;
if (nr < This->nStreams)
memmove(&This->pStreams[nr], &This->pStreams[nr + 1],
(This->nStreams - nr) * sizeof(This->pStreams[0]));
if (This->nStreams - nr > 0) {
memmove(This->pStreams + nr, This->pStreams + nr + 1,
(This->nStreams - nr) * sizeof(EditStreamTable));
}
This->pStreams[This->nStreams].pStream = NULL;
This->pStreams[This->nStreams].dwStart = 0;
This->pStreams[This->nStreams].dwLength = 0;

View File

@@ -28,7 +28,7 @@
@ stub BCryptGenerateKeyPair
@ stub BCryptGenerateSymmetricKey
@ stdcall BCryptGetFipsAlgorithmMode(ptr)
@ stdcall BCryptGetProperty(ptr wstr ptr long ptr long)
@ stub BCryptGetProperty
@ stub BCryptHashData
@ stub BCryptImportKey
@ stub BCryptImportKeyPair

View File

@@ -107,10 +107,3 @@ NTSTATUS WINAPI BCryptGetFipsAlgorithmMode(BOOLEAN *enabled)
*enabled = FALSE;
return STATUS_SUCCESS;
}
NTSTATUS WINAPI BCryptGetProperty(BCRYPT_HANDLE obj, LPCWSTR prop, UCHAR *buffer, ULONG count, ULONG *res, ULONG flags)
{
FIXME("%p, %s, %p, %u, %p, %08x - stub\n", obj, wine_dbgstr_w(prop), buffer, count, res, flags);
return STATUS_NOT_IMPLEMENTED;
}

View File

@@ -691,6 +691,11 @@ BOOL __cdecl FDIIsCabinet(HFDI hfdi, INT_PTR hf, PFDICABINETINFO pfdici)
if (!fdi) return FALSE;
if (!hf) {
SetLastError(ERROR_INVALID_HANDLE);
return FALSE;
}
if (!pfdici) {
SetLastError(ERROR_BAD_ARGUMENTS);
return FALSE;

View File

@@ -22,7 +22,6 @@ list(APPEND SOURCE
flatsb.c
header.c
hotkey.c
icon.c
imagelist.c
ipaddress.c
listview.c
@@ -42,7 +41,6 @@ list(APPEND SOURCE
theme_dialog.c
theme_edit.c
theme_listbox.c
theme_scrollbar.c
theming.c
toolbar.c
tooltips.c

File diff suppressed because it is too large Load Diff

View File

@@ -666,8 +666,8 @@ static HANDLE create_mru_list(LPWINEMRULIST mp)
/* get values from key 'MRUList' */
if (newkey) {
datasize = (mp->extview.uMax + 1) * sizeof(WCHAR);
if (RegQueryValueExW( newkey, strMRUList, 0, &type,
(LPBYTE)mp->realMRU, &datasize)) {
if((err=RegQueryValueExW( newkey, strMRUList, 0, &type,
(LPBYTE)mp->realMRU, &datasize))) {
/* not present - set size to 1 (will become 0 later) */
datasize = 1;
*mp->realMRU = 0;

View File

@@ -1808,15 +1808,6 @@ HRESULT WINAPI TaskDialogIndirect(const TASKDIALOGCONFIG *pTaskConfig, int *pnBu
return S_OK;
}
/***********************************************************************
* LoadIconWithScaleDown [COMCTL32.@]
*/
HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR name, int cx, int cy, HICON *icon)
{
FIXME("stub: %p %s %d %d %p\n", hinst, wine_dbgstr_w(name), cx, cy, icon);
return E_NOTIMPL;
}
/***********************************************************************
* RegisterClassNameW [COMCTL32.@]
*

View File

@@ -378,7 +378,10 @@ HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESU
if (ret) return phdi->rect.right;
}
else
{
HEADER_FillItemFrame(infoPtr, hdc, &r, phdi, bHotTrack);
HEADER_DrawItemFrame(infoPtr, hdc, &r, phdi);
}
if (phdi->bDown) {
r.left += 2;
@@ -396,7 +399,7 @@ HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESU
BITMAP bmp;
HEADER_PrepareCallbackItems(infoPtr, iItem, HDI_TEXT|HDI_IMAGE);
cw = iw = bw = 0;
cw = tw = iw = bw = 0;
rw = r.right - r.left;
rh = r.bottom - r.top;

View File

@@ -1,59 +0,0 @@
/*
* Comctl32 Icon functions
*
* Copyright 2014 Michael Müller
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "comctl32.h"
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
HRESULT WINAPI
LoadIconMetric (HINSTANCE hinst, PCWSTR name, INT size, HICON *icon)
{
INT width, height;
TRACE("(%p %s %d %p)\n", hinst, debugstr_w(name), size, icon);
if (!icon)
return E_INVALIDARG;
/* windows sets it to zero in a case of failure */
*icon = NULL;
if (!name)
return E_INVALIDARG;
if (size == LIM_SMALL)
{
width = GetSystemMetrics( SM_CXSMICON );
height = GetSystemMetrics( SM_CYSMICON );
}
else if (size == LIM_LARGE)
{
width = GetSystemMetrics( SM_CXICON );
height = GetSystemMetrics( SM_CYICON );
}
else
return E_INVALIDARG;
*icon = LoadImageW( hinst, name, IMAGE_ICON, width, height, LR_SHARED );
if (*icon)
return S_OK;
return HRESULT_FROM_WIN32(GetLastError());
}

View File

@@ -586,7 +586,6 @@ ImageList_BeginDrag (HIMAGELIST himlTrack, INT iTrack,
INT dxHotspot, INT dyHotspot)
{
INT cx, cy;
POINT src, dst;
TRACE("(himlTrack=%p iTrack=%d dx=%d dy=%d)\n", himlTrack, iTrack,
dxHotspot, dyHotspot);
@@ -594,11 +593,8 @@ ImageList_BeginDrag (HIMAGELIST himlTrack, INT iTrack,
if (!is_valid(himlTrack))
return FALSE;
if (iTrack >= himlTrack->cCurImage)
return FALSE;
if (InternalDrag.himl)
return FALSE;
ImageList_EndDrag ();
cx = himlTrack->cx;
cy = himlTrack->cy;
@@ -613,12 +609,10 @@ ImageList_BeginDrag (HIMAGELIST himlTrack, INT iTrack,
InternalDrag.dyHotspot = dyHotspot;
/* copy image */
imagelist_point_from_index(InternalDrag.himl, 0, &dst);
imagelist_point_from_index(himlTrack, iTrack, &src);
BitBlt(InternalDrag.himl->hdcImage, dst.x, dst.y, cx, cy, himlTrack->hdcImage, src.x, src.y,
SRCCOPY);
BitBlt(InternalDrag.himl->hdcMask, dst.x, dst.y, cx, cy, himlTrack->hdcMask, src.x, src.y,
SRCCOPY);
BitBlt (InternalDrag.himl->hdcImage, 0, 0, cx, cy, himlTrack->hdcImage, iTrack * cx, 0, SRCCOPY);
/* copy mask */
BitBlt (InternalDrag.himl->hdcMask, 0, 0, cx, cy, himlTrack->hdcMask, iTrack * cx, 0, SRCCOPY);
InternalDrag.himl->cCurImage = 1;

View File

@@ -136,64 +136,36 @@ static LRESULT IPADDRESS_Draw (const IPADDRESS_INFO *infoPtr, HDC hdc)
static const WCHAR dotW[] = { '.', 0 };
RECT rect, rcPart;
COLORREF bgCol, fgCol;
HTHEME theme;
int i, state = ETS_NORMAL;
int i;
TRACE("\n");
GetClientRect (infoPtr->Self, &rect);
theme = OpenThemeData(infoPtr->Self, WC_EDITW);
if (theme) {
DWORD dwStyle = GetWindowLongW (infoPtr->Self, GWL_STYLE);
if (!infoPtr->Enabled)
state = ETS_DISABLED;
else if (dwStyle & ES_READONLY)
state = ETS_READONLY;
else if (GetFocus() == infoPtr->Self)
state = ETS_FOCUSED;
GetThemeColor(theme, EP_EDITTEXT, state, TMT_FILLCOLOR, &bgCol);
GetThemeColor(theme, EP_EDITTEXT, state, TMT_TEXTCOLOR, &fgCol);
if (IsThemeBackgroundPartiallyTransparent (theme, EP_EDITTEXT, state))
DrawThemeParentBackground(infoPtr->Self, hdc, &rect);
DrawThemeBackground (theme, hdc, EP_EDITTEXT, state, &rect, 0);
if (infoPtr->Enabled) {
bgCol = comctl32_color.clrWindow;
fgCol = comctl32_color.clrWindowText;
} else {
if (infoPtr->Enabled) {
bgCol = comctl32_color.clrWindow;
fgCol = comctl32_color.clrWindowText;
} else {
bgCol = comctl32_color.clr3dFace;
fgCol = comctl32_color.clrGrayText;
}
FillRect (hdc, &rect, (HBRUSH)(DWORD_PTR)(bgCol+1));
DrawEdge (hdc, &rect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
bgCol = comctl32_color.clr3dFace;
fgCol = comctl32_color.clrGrayText;
}
FillRect (hdc, &rect, (HBRUSH)(DWORD_PTR)(bgCol+1));
DrawEdge (hdc, &rect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
SetBkColor (hdc, bgCol);
SetTextColor(hdc, fgCol);
for (i = 0; i < 3; i++) {
GetWindowRect (infoPtr->Part[i].EditHwnd, &rcPart);
MapWindowPoints( 0, infoPtr->Self, (POINT *)&rcPart, 2 );
rect.left = rcPart.right;
GetWindowRect (infoPtr->Part[i+1].EditHwnd, &rcPart);
rect.left = rcPart.right;
GetWindowRect (infoPtr->Part[i+1].EditHwnd, &rcPart);
MapWindowPoints( 0, infoPtr->Self, (POINT *)&rcPart, 2 );
rect.right = rcPart.left;
if (theme)
DrawThemeText(theme, hdc, EP_EDITTEXT, state, dotW, 1, DT_SINGLELINE | DT_CENTER | DT_BOTTOM, 0, &rect);
else
DrawTextW(hdc, dotW, 1, &rect, DT_SINGLELINE | DT_CENTER | DT_BOTTOM);
rect.right = rcPart.left;
DrawTextW(hdc, dotW, 1, &rect, DT_SINGLELINE | DT_CENTER | DT_BOTTOM);
}
if (theme)
CloseThemeData(theme);
return 0;
}

View File

@@ -3998,7 +3998,10 @@ static LRESULT LISTVIEW_MouseMove(LISTVIEW_INFO *infoPtr, WORD fwKeys, INT x, IN
rect.top = rect.bottom = infoPtr->ptClickPos.y;
InflateRect(&rect, GetSystemMetrics(SM_CXDRAG), GetSystemMetrics(SM_CYDRAG));
}
if (infoPtr->bLButtonDown)
{
if (infoPtr->bMarqueeSelect)
{
POINT coords_orig;

View File

@@ -269,33 +269,23 @@ static void draw_theme_bar_V (const ProgressDrawInfo* di, int start, int end)
/* draw themed horizontal background from 'start' to 'end' */
static void draw_theme_bkg_H (const ProgressDrawInfo* di, int start, int end)
{
RECT bgrect, r;
RECT r;
r.left = di->rect.left + start;
r.top = di->rect.top;
r.right = di->rect.left + end;
r.bottom = di->rect.bottom;
bgrect = di->bgRect;
OffsetRect(&bgrect, -bgrect.left, -bgrect.top);
DrawThemeBackground (di->theme, di->hdc, PP_BAR, 0, &bgrect, &r);
DrawThemeBackground (di->theme, di->hdc, PP_BAR, 0, &di->bgRect, &r);
}
/* draw themed vertical background from 'start' to 'end' */
static void draw_theme_bkg_V (const ProgressDrawInfo* di, int start, int end)
{
RECT bgrect, r;
RECT r;
r.left = di->rect.left;
r.top = di->rect.bottom - end;
r.right = di->rect.right;
r.bottom = di->rect.bottom - start;
bgrect = di->bgRect;
OffsetRect(&bgrect, -bgrect.left, -bgrect.top);
DrawThemeBackground (di->theme, di->hdc, PP_BARVERT, 0, &bgrect, &r);
DrawThemeBackground (di->theme, di->hdc, PP_BARVERT, 0, &di->bgRect, &r);
}
/* drawing functions for themed style */

View File

@@ -2414,8 +2414,6 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags)
HWND hwndBack = GetDlgItem(hwndDlg, IDC_BACK_BUTTON);
HWND hwndNext = GetDlgItem(hwndDlg, IDC_NEXT_BUTTON);
HWND hwndFinish = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON);
BOOL enable_finish = ((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH);
#ifdef __REACTOS__
HWND hwndCancel = GetDlgItem(hwndDlg, IDCANCEL);
INT iDefItem = 0;
@@ -2424,13 +2422,13 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags)
TRACE("%d\n", dwFlags);
EnableWindow(hwndBack, dwFlags & PSWIZB_BACK);
EnableWindow(hwndNext, dwFlags & PSWIZB_NEXT);
EnableWindow(hwndFinish, enable_finish);
EnableWindow(hwndBack, FALSE);
EnableWindow(hwndNext, FALSE);
EnableWindow(hwndFinish, FALSE);
#ifndef __REACTOS__
/* set the default pushbutton to an enabled button */
if (enable_finish)
if (((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH))
SendMessageW(hwndDlg, DM_SETDEFID, IDC_FINISH_BUTTON, 0);
else if (dwFlags & PSWIZB_NEXT)
SendMessageW(hwndDlg, DM_SETDEFID, IDC_NEXT_BUTTON, 0);
@@ -2440,6 +2438,13 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags)
SendMessageW(hwndDlg, DM_SETDEFID, IDCANCEL, 0);
#endif
if (dwFlags & PSWIZB_BACK)
EnableWindow(hwndBack, TRUE);
if (dwFlags & PSWIZB_NEXT)
EnableWindow(hwndNext, TRUE);
if (!psInfo->hasFinish)
{
if ((dwFlags & PSWIZB_FINISH) || (dwFlags & PSWIZB_DISABLEDFINISH))
@@ -2449,6 +2454,9 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags)
/* Show the Finish button */
ShowWindow(hwndFinish, SW_SHOW);
if (!(dwFlags & PSWIZB_DISABLEDFINISH))
EnableWindow(hwndFinish, TRUE);
}
else
{
@@ -2458,6 +2466,8 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags)
ShowWindow(hwndNext, SW_SHOW);
}
}
else if (!(dwFlags & PSWIZB_DISABLEDFINISH))
EnableWindow(hwndFinish, TRUE);
#ifdef __REACTOS__
/* set the default pushbutton to an enabled button */

View File

@@ -275,7 +275,7 @@ LPSTR WINAPI StrChrA(LPCSTR lpszStr, WORD ch)
* PARAMS
* lpszStr [I] First string to compare
* lpszComp [I] Second string to compare
* iLen [I] Number of chars to compare
* iLen [I] Maximum number of chars to compare.
*
* RETURNS
* An integer less than, equal to or greater than 0, indicating that
@@ -307,15 +307,13 @@ static LPSTR COMCTL32_StrStrHelperA(LPCSTR lpszStr, LPCSTR lpszSearch,
INT (WINAPI *pStrCmpFn)(LPCSTR,LPCSTR,INT))
{
size_t iLen;
LPCSTR end;
if (!lpszStr || !lpszSearch || !*lpszSearch)
return NULL;
iLen = strlen(lpszSearch);
end = lpszStr + strlen(lpszStr);
while (lpszStr + iLen <= end)
while (*lpszStr)
{
if (!pStrCmpFn(lpszStr, lpszSearch, iLen))
return (LPSTR)lpszStr;
@@ -368,7 +366,6 @@ INT WINAPI StrToIntA (LPCSTR lpszStr)
LPWSTR WINAPI StrStrIW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
{
int iLen;
LPCWSTR end;
TRACE("(%s,%s)\n", debugstr_w(lpszStr), debugstr_w(lpszSearch));
@@ -376,9 +373,8 @@ LPWSTR WINAPI StrStrIW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
return NULL;
iLen = strlenW(lpszSearch);
end = lpszStr + strlenW(lpszStr);
while (lpszStr + iLen <= end)
while (*lpszStr)
{
if (!StrCmpNIW(lpszStr, lpszSearch, iLen))
return (LPWSTR)lpszStr;
@@ -468,7 +464,7 @@ LPWSTR WINAPI StrChrW(LPCWSTR lpszStr, WCHAR ch)
* PARAMS
* lpszStr [I] First string to compare
* lpszComp [I] Second string to compare
* iLen [I] Number of chars to compare
* iLen [I] Maximum number of chars to compare.
*
* RETURNS
* An integer less than, equal to or greater than 0, indicating that
@@ -658,20 +654,18 @@ LPSTR WINAPI StrRStrIA(LPCSTR lpszStr, LPCSTR lpszEnd, LPCSTR lpszSearch)
if (!lpszStr || !lpszSearch || !*lpszSearch)
return NULL;
if (!lpszEnd)
lpszEnd = lpszStr + lstrlenA(lpszStr);
if (IsDBCSLeadByte(*lpszSearch))
ch1 = *lpszSearch << 8 | (UCHAR)lpszSearch[1];
ch1 = *lpszSearch << 8 | lpszSearch[1];
else
ch1 = *lpszSearch;
iLen = lstrlenA(lpszSearch);
if (!lpszEnd)
lpszEnd = lpszStr + lstrlenA(lpszStr);
else /* reproduce the broken behaviour on Windows */
lpszEnd += min(iLen - 1, lstrlenA(lpszEnd));
while (lpszStr + iLen <= lpszEnd && *lpszStr)
while (lpszStr <= lpszEnd && *lpszStr)
{
ch2 = IsDBCSLeadByte(*lpszStr)? *lpszStr << 8 | (UCHAR)lpszStr[1] : *lpszStr;
ch2 = IsDBCSLeadByte(*lpszStr)? *lpszStr << 8 | lpszStr[1] : *lpszStr;
if (!COMCTL32_ChrCmpIA(ch1, ch2))
{
if (!StrCmpNIA(lpszStr, lpszSearch, iLen))
@@ -697,15 +691,12 @@ LPWSTR WINAPI StrRStrIW(LPCWSTR lpszStr, LPCWSTR lpszEnd, LPCWSTR lpszSearch)
if (!lpszStr || !lpszSearch || !*lpszSearch)
return NULL;
iLen = strlenW(lpszSearch);
if (!lpszEnd)
lpszEnd = lpszStr + strlenW(lpszStr);
else /* reproduce the broken behaviour on Windows */
lpszEnd += min(iLen - 1, lstrlenW(lpszEnd));
iLen = strlenW(lpszSearch);
while (lpszStr + iLen <= lpszEnd && *lpszStr)
while (lpszStr <= lpszEnd && *lpszStr)
{
if (!COMCTL32_ChrCmpIW(*lpszSearch, *lpszStr))
{
@@ -848,15 +839,16 @@ int WINAPI StrCSpnW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
BOOL WINAPI IntlStrEqWorkerA(BOOL bCase, LPCSTR lpszStr, LPCSTR lpszComp,
int iLen)
{
DWORD dwFlags;
DWORD dwFlags = LOCALE_USE_CP_ACP;
int iRet;
TRACE("(%d,%s,%s,%d)\n", bCase,
debugstr_a(lpszStr), debugstr_a(lpszComp), iLen);
/* FIXME: This flag is undocumented and unknown by our CompareString.
* We need a define for it.
*/
dwFlags = LOCALE_RETURN_GENITIVE_NAMES;
dwFlags = 0x10000000;
if (!bCase) dwFlags |= NORM_IGNORECASE;
iRet = CompareStringA(GetThreadLocale(),
@@ -883,8 +875,9 @@ BOOL WINAPI IntlStrEqWorkerW(BOOL bCase, LPCWSTR lpszStr, LPCWSTR lpszComp,
debugstr_w(lpszStr),debugstr_w(lpszComp), iLen);
/* FIXME: This flag is undocumented and unknown by our CompareString.
* We need a define for it.
*/
dwFlags = LOCALE_RETURN_GENITIVE_NAMES;
dwFlags = 0x10000000;
if (!bCase) dwFlags |= NORM_IGNORECASE;
iRet = CompareStringW(GetThreadLocale(),

View File

@@ -173,26 +173,6 @@ static VOID SYSLINK_ClearDoc (SYSLINK_INFO *infoPtr)
infoPtr->Items = NULL;
}
/***********************************************************************
* SYSLINK_StrCmpNIW
* Wrapper for StrCmpNIW to ensure 'len' is not too big.
*/
static INT SYSLINK_StrCmpNIW (LPCWSTR str, LPCWSTR comp, INT len)
{
INT i;
for(i = 0; i < len; i++)
{
if(!str[i])
{
len = i + 1;
break;
}
}
return StrCmpNIW(str, comp, len);
}
/***********************************************************************
* SYSLINK_ParseText
* Parses the window text string and creates a document. Returns the
@@ -213,7 +193,7 @@ static UINT SYSLINK_ParseText (SYSLINK_INFO *infoPtr, LPCWSTR Text)
{
if(*current == '<')
{
if(!SYSLINK_StrCmpNIW(current, SL_LINKOPEN, 2) && (CurrentType == slText))
if(!StrCmpNIW(current, SL_LINKOPEN, 2) && (CurrentType == slText))
{
BOOL ValidParam = FALSE, ValidLink = FALSE;
@@ -241,14 +221,14 @@ static UINT SYSLINK_ParseText (SYSLINK_INFO *infoPtr, LPCWSTR Text)
CheckParameter:
/* compare the current position with all known parameters */
if(!SYSLINK_StrCmpNIW(tmp, SL_HREF, 6))
if(!StrCmpNIW(tmp, SL_HREF, 6))
{
taglen += 6;
ValidParam = TRUE;
CurrentParameter = &lpUrl;
CurrentParameterLen = &lenUrl;
}
else if(!SYSLINK_StrCmpNIW(tmp, SL_ID, 4))
else if(!StrCmpNIW(tmp, SL_ID, 4))
{
taglen += 4;
ValidParam = TRUE;
@@ -322,7 +302,7 @@ CheckParameter:
}
}
}
else if(!SYSLINK_StrCmpNIW(current, SL_LINKCLOSE, 4) && (CurrentType == slLink) && firsttag)
else if(!StrCmpNIW(current, SL_LINKCLOSE, 4) && (CurrentType == slLink) && firsttag)
{
/* there's a <a...> tag opened, first add the previous text, if present */
if(textstart != NULL && textlen > 0 && firsttag > textstart)

View File

@@ -20,7 +20,6 @@
*/
#include "comctl32.h"
WINE_DEFAULT_DEBUG_CHANNEL(theme_button);
#define BUTTON_TYPE 0x0f /* bit mask for the available button types */
@@ -34,7 +33,7 @@ typedef enum
STATE_DEFAULTED
} ButtonState;
typedef void (*pfThemedPaint)(HTHEME theme, HWND hwnd, HDC hdc, ButtonState drawState, UINT dtFlags, BOOL focused);
typedef void (*pfThemedPaint)(HTHEME theme, HWND hwnd, HDC hdc, ButtonState drawState, UINT dtFlags);
static UINT get_drawtext_flags(DWORD style, DWORD ex_style)
{
@@ -87,7 +86,7 @@ static inline WCHAR *get_button_text(HWND hwnd)
return text;
}
static void PB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UINT dtFlags, BOOL focused)
static void PB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UINT dtFlags)
{
static const int states[] = { PBS_NORMAL, PBS_DISABLED, PBS_HOT, PBS_PRESSED, PBS_DEFAULTED };
@@ -109,25 +108,10 @@ static void PB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UIN
HeapFree(GetProcessHeap(), 0, text);
}
if (focused)
{
MARGINS margins;
RECT focusRect = bgRect;
GetThemeMargins(theme, hDC, BP_PUSHBUTTON, state, TMT_CONTENTMARGINS, NULL, &margins);
focusRect.left += margins.cxLeftWidth;
focusRect.top += margins.cyTopHeight;
focusRect.right -= margins.cxRightWidth;
focusRect.bottom -= margins.cyBottomHeight;
DrawFocusRect( hDC, &focusRect );
}
if (hPrevFont) SelectObject(hDC, hPrevFont);
}
static void CB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UINT dtFlags, BOOL focused)
static void CB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UINT dtFlags)
{
static const int cb_states[3][5] =
{
@@ -145,7 +129,8 @@ static void CB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UIN
static const int cb_size = 13;
RECT bgRect, textRect;
HFONT font, hPrevFont = NULL;
HFONT font = (HFONT)SendMessageW(hwnd, WM_GETFONT, 0, 0);
HFONT hPrevFont = font ? SelectObject(hDC, font) : NULL;
LRESULT checkState = SendMessageW(hwnd, BM_GETCHECK, 0, 0);
DWORD dwStyle = GetWindowLongW(hwnd, GWL_STYLE);
int part = ((dwStyle & BUTTON_TYPE) == BS_RADIOBUTTON) || ((dwStyle & BUTTON_TYPE) == BS_AUTORADIOBUTTON)
@@ -155,23 +140,6 @@ static void CB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UIN
? cb_states[ checkState ][ drawState ]
: rb_states[ checkState ][ drawState ];
WCHAR *text = get_button_text(hwnd);
LOGFONTW lf;
BOOL created_font = FALSE;
HRESULT hr = GetThemeFont(theme, hDC, part, state, TMT_FONT, &lf);
if (SUCCEEDED(hr)) {
font = CreateFontIndirectW(&lf);
if (!font)
TRACE("Failed to create font\n");
else {
TRACE("font = %s\n", debugstr_w(lf.lfFaceName));
hPrevFont = SelectObject(hDC, font);
created_font = TRUE;
}
} else {
font = (HFONT)SendMessageW(hwnd, WM_GETFONT, 0, 0);
hPrevFont = SelectObject(hDC, font);
}
GetClientRect(hwnd, &bgRect);
GetThemeBackgroundContentRect(theme, hDC, part, state, &bgRect, &textRect);
@@ -184,58 +152,27 @@ static void CB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UIN
bgRect.right = bgRect.left + cb_size;
textRect.left = bgRect.right + 6;
DrawThemeParentBackground(hwnd, hDC, NULL);
if (IsThemeBackgroundPartiallyTransparent(theme, part, state))
DrawThemeParentBackground(hwnd, hDC, NULL);
DrawThemeBackground(theme, hDC, part, state, &bgRect, NULL);
if (text)
{
DrawThemeText(theme, hDC, part, state, text, lstrlenW(text), dtFlags, 0, &textRect);
if (focused)
{
RECT focusRect;
focusRect = textRect;
DrawTextW(hDC, text, lstrlenW(text), &focusRect, dtFlags | DT_CALCRECT);
if (focusRect.right < textRect.right) focusRect.right++;
focusRect.bottom = textRect.bottom;
DrawFocusRect( hDC, &focusRect );
}
HeapFree(GetProcessHeap(), 0, text);
}
if (created_font) DeleteObject(font);
if (hPrevFont) SelectObject(hDC, hPrevFont);
}
static void GB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UINT dtFlags, BOOL focused)
static void GB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UINT dtFlags)
{
static const int states[] = { GBS_NORMAL, GBS_DISABLED, GBS_NORMAL, GBS_NORMAL, GBS_NORMAL };
RECT bgRect, textRect, contentRect;
HFONT font = (HFONT)SendMessageW(hwnd, WM_GETFONT, 0, 0);
HFONT hPrevFont = font ? SelectObject(hDC, font) : NULL;
int state = states[ drawState ];
WCHAR *text = get_button_text(hwnd);
LOGFONTW lf;
HFONT font, hPrevFont = NULL;
BOOL created_font = FALSE;
HRESULT hr = GetThemeFont(theme, hDC, BP_GROUPBOX, state, TMT_FONT, &lf);
if (SUCCEEDED(hr)) {
font = CreateFontIndirectW(&lf);
if (!font)
TRACE("Failed to create font\n");
else {
hPrevFont = SelectObject(hDC, font);
created_font = TRUE;
}
} else {
font = (HFONT)SendMessageW(hwnd, WM_GETFONT, 0, 0);
hPrevFont = SelectObject(hDC, font);
}
GetClientRect(hwnd, &bgRect);
textRect = bgRect;
@@ -269,7 +206,6 @@ static void GB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UIN
HeapFree(GetProcessHeap(), 0, text);
}
if (created_font) DeleteObject(font);
if (hPrevFont) SelectObject(hDC, hPrevFont);
}
@@ -317,7 +253,7 @@ static BOOL BUTTON_Paint(HTHEME theme, HWND hwnd, HDC hParamDC)
else drawState = STATE_DISABLED;
hDC = hParamDC ? hParamDC : BeginPaint(hwnd, &ps);
paint(theme, hwnd, hDC, drawState, dtFlags, state & BST_FOCUS);
paint(theme, hwnd, hDC, drawState, dtFlags);
if (!hParamDC) EndPaint(hwnd, &ps);
return TRUE;
}

View File

@@ -108,8 +108,6 @@ LRESULT CALLBACK THEMING_EditSubclassProc (HWND hwnd, UINT msg,
break;
case WM_ENABLE:
case WM_KILLFOCUS:
case WM_SETFOCUS:
theme = GetWindowTheme( hwnd );
if (theme) RedrawWindow (hwnd, NULL, NULL,
RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW);

View File

@@ -1,33 +0,0 @@
/*
* Theming - Scrollbar control
*
* Copyright (c) 2015 Mark Harmstone
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
#include "comctl32.h"
WINE_DEFAULT_DEBUG_CHANNEL(theme_scroll);
LRESULT CALLBACK THEMING_ScrollbarSubclassProc (HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam,
ULONG_PTR dwRefData)
{
TRACE("(%p, 0x%x, %lu, %lu, %lu)\n", hwnd, msg, wParam, lParam, dwRefData);
return THEMING_CallOriginalClass (hwnd, msg, wParam, lParam);
}

View File

@@ -36,8 +36,6 @@ extern LRESULT CALLBACK THEMING_EditSubclassProc (HWND, UINT, WPARAM, LPARAM,
ULONG_PTR) DECLSPEC_HIDDEN;
extern LRESULT CALLBACK THEMING_ListBoxSubclassProc (HWND, UINT, WPARAM, LPARAM,
ULONG_PTR) DECLSPEC_HIDDEN;
extern LRESULT CALLBACK THEMING_ScrollbarSubclassProc (HWND, UINT, WPARAM, LPARAM,
ULONG_PTR) DECLSPEC_HIDDEN;
static const WCHAR dialogClass[] = {'#','3','2','7','7','0',0};
static const WCHAR comboLboxClass[] = {'C','o','m','b','o','L','b','o','x',0};
@@ -53,8 +51,7 @@ static const struct ThemingSubclass
{WC_COMBOBOXW, THEMING_ComboSubclassProc},
{comboLboxClass, THEMING_ListBoxSubclassProc},
{WC_EDITW, THEMING_EditSubclassProc},
{WC_LISTBOXW, THEMING_ListBoxSubclassProc},
{WC_SCROLLBARW, THEMING_ScrollbarSubclassProc}
{WC_LISTBOXW, THEMING_ListBoxSubclassProc}
};
#define NUM_SUBCLASSES (sizeof(subclasses)/sizeof(subclasses[0]))
@@ -90,7 +87,6 @@ MAKE_SUBCLASS_PROC(2)
MAKE_SUBCLASS_PROC(3)
MAKE_SUBCLASS_PROC(4)
MAKE_SUBCLASS_PROC(5)
MAKE_SUBCLASS_PROC(6)
static const WNDPROC subclassProcs[NUM_SUBCLASSES] = {
subclass_proc0,
@@ -98,8 +94,7 @@ static const WNDPROC subclassProcs[NUM_SUBCLASSES] = {
subclass_proc2,
subclass_proc3,
subclass_proc4,
subclass_proc5,
subclass_proc6
subclass_proc5
};
/***********************************************************************

View File

@@ -5186,6 +5186,8 @@ TOOLBAR_SetHotItem2 (TOOLBAR_INFO *infoPtr, INT nHotItem, LPARAM lParam)
TOOLBAR_SetHotItemEx(infoPtr, nHotItem, lParam);
GetFocus();
return (nOldHotItem < 0) ? -1 : (LRESULT)nOldHotItem;
}

View File

@@ -221,7 +221,7 @@ TOOLTIPS_customdraw_fill(const TOOLTIPS_INFO *infoPtr, NMTTCUSTOMDRAW *lpnmttcd,
static inline DWORD
TOOLTIPS_notify_customdraw (DWORD dwDrawStage, NMTTCUSTOMDRAW *lpnmttcd)
{
LRESULT result;
LRESULT result = CDRF_DODEFAULT;
lpnmttcd->nmcd.dwDrawStage = dwDrawStage;
TRACE("Notifying stage %d, flags %x, id %x\n", lpnmttcd->nmcd.dwDrawStage,
@@ -471,13 +471,12 @@ TOOLTIPS_GetTipText (const TOOLTIPS_INFO *infoPtr, INT nTool, WCHAR *buffer)
{
TTTOOL_INFO *toolPtr = &infoPtr->tools[nTool];
/* always NULL-terminate the buffer, just in case we fail to load the string */
buffer[0] = '\0';
if (IS_INTRESOURCE(toolPtr->lpszText)) {
HINSTANCE hinst = toolPtr->hinst ? toolPtr->hinst : GetModuleHandleW(NULL);
/* load a resource */
TRACE("load res string %p %x\n", hinst, LOWORD(toolPtr->lpszText));
LoadStringW (hinst, LOWORD(toolPtr->lpszText), buffer, INFOTIPSIZE);
if (IS_INTRESOURCE(toolPtr->lpszText) && toolPtr->hinst) {
/* load a resource */
TRACE("load res string %p %x\n",
toolPtr->hinst, LOWORD(toolPtr->lpszText));
LoadStringW (toolPtr->hinst, LOWORD(toolPtr->lpszText),
buffer, INFOTIPSIZE);
}
else if (toolPtr->lpszText) {
if (toolPtr->lpszText == LPSTR_TEXTCALLBACKW) {
@@ -493,6 +492,7 @@ TOOLTIPS_GetTipText (const TOOLTIPS_INFO *infoPtr, INT nTool, WCHAR *buffer)
}
else {
/* no text available */
buffer[0] = '\0';
}
TRACE("%s\n", debugstr_w(buffer));

View File

@@ -1556,37 +1556,41 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
/* 2. (All platforms) If initdir is not null, then use it */
if (!handledPath && fodInfos->initdir && *fodInfos->initdir)
{
/* Work out the proper path as supplied one might be relative */
/* (Here because supplying '.' as dir browses to My Computer) */
WCHAR tmpBuf[MAX_PATH];
WCHAR tmpBuf2[MAX_PATH];
WCHAR *nameBit;
DWORD result;
/* Work out the proper path as supplied one might be relative */
/* (Here because supplying '.' as dir browses to My Computer) */
if (!handledPath) {
WCHAR tmpBuf[MAX_PATH];
WCHAR tmpBuf2[MAX_PATH];
WCHAR *nameBit;
DWORD result;
lstrcpyW(tmpBuf, fodInfos->initdir);
if (PathFileExistsW(tmpBuf)) {
/* initdir does not have to be a directory. If a file is
* specified, the dir part is taken */
if (PathIsDirectoryW(tmpBuf)) {
PathAddBackslashW(tmpBuf);
lstrcatW(tmpBuf, szwStar);
}
result = GetFullPathNameW(tmpBuf, MAX_PATH, tmpBuf2, &nameBit);
if (result) {
*nameBit = 0x00;
MemFree(fodInfos->initdir);
fodInfos->initdir = MemAlloc((lstrlenW(tmpBuf2) + 1) * sizeof(WCHAR));
lstrcpyW(fodInfos->initdir, tmpBuf2);
handledPath = TRUE;
TRACE("Value in InitDir changed to %s\n", debugstr_w(fodInfos->initdir));
}
}
else if (fodInfos->initdir)
{
MemFree(fodInfos->initdir);
fodInfos->initdir = NULL;
TRACE("Value in InitDir is not an existing path, changed to (nil)\n");
}
lstrcpyW(tmpBuf, fodInfos->initdir);
if( PathFileExistsW(tmpBuf) ) {
/* initdir does not have to be a directory. If a file is
* specified, the dir part is taken */
if( PathIsDirectoryW(tmpBuf)) {
if (tmpBuf[lstrlenW(tmpBuf)-1] != '\\') {
lstrcatW(tmpBuf, szwSlash);
}
lstrcatW(tmpBuf, szwStar);
}
result = GetFullPathNameW(tmpBuf, MAX_PATH, tmpBuf2, &nameBit);
if (result) {
*nameBit = 0x00;
MemFree(fodInfos->initdir);
fodInfos->initdir = MemAlloc((lstrlenW(tmpBuf2) + 1)*sizeof(WCHAR));
lstrcpyW(fodInfos->initdir, tmpBuf2);
handledPath = TRUE;
TRACE("Value in InitDir changed to %s\n", debugstr_w(fodInfos->initdir));
}
}
else if (fodInfos->initdir)
{
MemFree(fodInfos->initdir);
fodInfos->initdir = NULL;
TRACE("Value in InitDir is not an existing path, changed to (nil)\n");
}
}
}
if (!handledPath && (!fodInfos->initdir || !*fodInfos->initdir))
@@ -3236,6 +3240,7 @@ static LRESULT FILEDLG95_LOOKIN_DrawItem(LPDRAWITEMSTRUCT pDIStruct)
int iIndentation;
TEXTMETRICW tm;
LPSFOLDER tmpFolder;
LookInInfos *liInfos = GetPropA(pDIStruct->hwndItem,LookInInfosStr);
UINT shgfi_flags = SHGFI_PIDL | SHGFI_OPENICON | SHGFI_SYSICONINDEX | SHGFI_DISPLAYNAME;
UINT icon_width, icon_height;
@@ -3258,8 +3263,16 @@ static LRESULT FILEDLG95_LOOKIN_DrawItem(LPDRAWITEMSTRUCT pDIStruct)
shgfi_flags |= SHGFI_SMALLICON;
}
ilItemImage = (HIMAGELIST) SHGetFileInfoW ((LPCWSTR) tmpFolder->pidlItem,
0, &sfi, sizeof (sfi), shgfi_flags );
if(pDIStruct->itemID == liInfos->uSelectedItem)
{
ilItemImage = (HIMAGELIST) SHGetFileInfoW ((LPCWSTR) tmpFolder->pidlItem,
0, &sfi, sizeof (sfi), shgfi_flags );
}
else
{
ilItemImage = (HIMAGELIST) SHGetFileInfoW ((LPCWSTR) tmpFolder->pidlItem,
0, &sfi, sizeof (sfi), shgfi_flags );
}
/* Is this item selected ? */
if(pDIStruct->itemState & ODS_SELECTED)
@@ -3277,10 +3290,16 @@ static LRESULT FILEDLG95_LOOKIN_DrawItem(LPDRAWITEMSTRUCT pDIStruct)
/* Do not indent item if drawing in the edit of the combo */
if(pDIStruct->itemState & ODS_COMBOBOXEDIT)
{
iIndentation = 0;
else
iIndentation = tmpFolder->m_iIndent;
ilItemImage = (HIMAGELIST) SHGetFileInfoW ((LPCWSTR) tmpFolder->pidlItem,
0, &sfi, sizeof (sfi), shgfi_flags );
}
else
{
iIndentation = tmpFolder->m_iIndent;
}
/* Draw text and icon */
/* Initialise the icon display area */

View File

@@ -919,7 +919,7 @@ static HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_IncludeObject(ICommDlgBr
return S_OK;
/* Check if there is a mask to apply if not */
if(!fodInfos->ShellInfos.lpstrCurrentFilter || !fodInfos->ShellInfos.lpstrCurrentFilter[0])
if(!fodInfos->ShellInfos.lpstrCurrentFilter || !lstrlenW(fodInfos->ShellInfos.lpstrCurrentFilter))
return S_OK;
if (SUCCEEDED(IShellFolder_GetDisplayNameOf(fodInfos->Shell.FOIShellFolder, pidl, SHGDN_INFOLDER | SHGDN_FORPARSING, &str)))

View File

@@ -816,7 +816,8 @@ static BOOL PRINTDLG_SetUpPaperComboBoxA(HWND hDlg,
Names = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(char)*NamesSize);
Words = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(WORD));
DeviceCapabilitiesA(PrinterName, PortName, fwCapability_Names, Names, dm);
NrOfEntries = DeviceCapabilitiesA(PrinterName, PortName,
fwCapability_Names, Names, dm);
NrOfEntries = DeviceCapabilitiesA(PrinterName, PortName,
fwCapability_Words, (LPSTR)Words, dm);
@@ -926,7 +927,8 @@ static BOOL PRINTDLG_SetUpPaperComboBoxW(HWND hDlg,
Names = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(WCHAR)*NamesSize);
Words = HeapAlloc(GetProcessHeap(),0, NrOfEntries*sizeof(WORD));
DeviceCapabilitiesW(PrinterName, PortName, fwCapability_Names, Names, dm);
NrOfEntries = DeviceCapabilitiesW(PrinterName, PortName,
fwCapability_Names, Names, dm);
NrOfEntries = DeviceCapabilitiesW(PrinterName, PortName,
fwCapability_Words, Words, dm);
@@ -1774,12 +1776,10 @@ static LRESULT PRINTDLG_WMCommandA(HWND hDlg, WPARAM wParam,
case cmb2: /* Papersize */
{
DWORD Sel = SendDlgItemMessageA(hDlg, cmb2, CB_GETCURSEL, 0, 0);
if(Sel != CB_ERR) {
if(Sel != CB_ERR)
lpdm->u1.s1.dmPaperSize = SendDlgItemMessageA(hDlg, cmb2,
CB_GETITEMDATA,
Sel, 0);
GetDlgItemTextA(hDlg, cmb2, (char *)lpdm->dmFormName, CCHFORMNAME);
}
}
break;
@@ -1932,12 +1932,10 @@ static LRESULT PRINTDLG_WMCommandW(HWND hDlg, WPARAM wParam,
case cmb2: /* Papersize */
{
DWORD Sel = SendDlgItemMessageW(hDlg, cmb2, CB_GETCURSEL, 0, 0);
if(Sel != CB_ERR) {
if(Sel != CB_ERR)
lpdm->u1.s1.dmPaperSize = SendDlgItemMessageW(hDlg, cmb2,
CB_GETITEMDATA,
Sel, 0);
GetDlgItemTextW(hDlg, cmb2, lpdm->dmFormName, CCHFORMNAME);
}
}
break;
@@ -3793,16 +3791,16 @@ static void *pagesetup_get_template(pagesetup_data *data)
{
if(data->unicode)
res = FindResourceW(data->u.dlgw->hInstance,
data->u.dlgw->lpPageSetupTemplateName, (LPWSTR)RT_DIALOG);
data->u.dlgw->lpPageSetupTemplateName, MAKEINTRESOURCEW(RT_DIALOG));
else
res = FindResourceA(data->u.dlga->hInstance,
data->u.dlga->lpPageSetupTemplateName, (LPSTR)RT_DIALOG);
data->u.dlga->lpPageSetupTemplateName, MAKEINTRESOURCEA(RT_DIALOG));
tmpl_handle = LoadResource(data->u.dlgw->hInstance, res);
}
else
{
res = FindResourceW(COMDLG32_hInstance, MAKEINTRESOURCEW(PAGESETUPDLGORD),
(LPWSTR)RT_DIALOG);
MAKEINTRESOURCEW(RT_DIALOG));
tmpl_handle = LoadResource(COMDLG32_hInstance, res);
}
return LockResource(tmpl_handle);

View File

@@ -975,7 +975,7 @@ static BOOL container_matches_cert(PCCERT_CONTEXT pCert, LPCSTR container,
{
CRYPT_KEY_PROV_INFO copy;
WCHAR containerW[MAX_PATH];
BOOL matches;
BOOL matches = FALSE;
MultiByteToWideChar(CP_ACP, 0, container, -1,
containerW, sizeof(containerW) / sizeof(containerW[0]));
@@ -1133,7 +1133,7 @@ static BOOL cert_prov_info_matches_cert(PCCERT_CONTEXT pCert)
BOOL WINAPI CryptFindCertificateKeyProvInfo(PCCERT_CONTEXT pCert,
DWORD dwFlags, void *pvReserved)
{
BOOL matches;
BOOL matches = FALSE;
TRACE("(%p, %08x, %p)\n", pCert, dwFlags, pvReserved);
@@ -2878,7 +2878,7 @@ static void CRYPT_SetBitInField(struct BitField *field, DWORD bit)
static BOOL CRYPT_IsBitInFieldSet(const struct BitField *field, DWORD bit)
{
BOOL set;
BOOL set = FALSE;
DWORD indexIndex = bit / BITS_PER_DWORD;
assert(field->cIndexes);
@@ -3090,6 +3090,7 @@ static void CertContext_SetKeyProvInfo(PCCERT_CONTEXT context,
CryptMemFree(szProvider);
}
}
size = sizeof(info.dwKeySpec);
/* in case no CRYPT_KEY_PROV_INFO given,
* we always use AT_SIGNATURE key spec
*/

View File

@@ -482,7 +482,6 @@ static const char * const CRYPT_knownLocations[] = {
"/usr/share/ca-certificates/ca-bundle.crt",
"/usr/local/share/certs/",
"/etc/sfw/openssl/certs",
"/etc/security/cacerts", /* Android */
};
static const BYTE authenticode[] = {

View File

@@ -1186,27 +1186,10 @@ static BOOL WINAPI CRYPT_CreateBlob(LPCSTR pszObjectOid,
typedef BOOL (WINAPI *AddContextToStore)(HCERTSTORE hCertStore,
const void *pContext, DWORD dwAddDisposition, const void **ppStoreContext);
static BOOL decode_base64_blob( const CRYPT_DATA_BLOB *in, CRYPT_DATA_BLOB *out )
{
BOOL ret;
DWORD len = in->cbData;
while (len && !in->pbData[len - 1]) len--;
if (!CryptStringToBinaryA( (char *)in->pbData, len, CRYPT_STRING_BASE64_ANY,
NULL, &out->cbData, NULL, NULL )) return FALSE;
if (!(out->pbData = CryptMemAlloc( out->cbData ))) return FALSE;
ret = CryptStringToBinaryA( (char *)in->pbData, len, CRYPT_STRING_BASE64_ANY,
out->pbData, &out->cbData, NULL, NULL );
if (!ret) CryptMemFree( out->pbData );
return ret;
}
static BOOL CRYPT_CreateContext(const CRYPT_BLOB_ARRAY *pObject,
DWORD dwExpectedContentTypeFlags, AddContextToStore addFunc, void **ppvContext)
{
BOOL ret = TRUE;
CRYPT_DATA_BLOB blob;
if (!pObject->cBlob)
{
@@ -1216,20 +1199,9 @@ static BOOL CRYPT_CreateContext(const CRYPT_BLOB_ARRAY *pObject,
}
else if (pObject->cBlob == 1)
{
if (decode_base64_blob(&pObject->rgBlob[0], &blob))
{
ret = CryptQueryObject(CERT_QUERY_OBJECT_BLOB, &blob,
dwExpectedContentTypeFlags, CERT_QUERY_FORMAT_FLAG_BINARY, 0,
NULL, NULL, NULL, NULL, NULL, (const void **)ppvContext);
CryptMemFree(blob.pbData);
}
else
{
ret = CryptQueryObject(CERT_QUERY_OBJECT_BLOB, &pObject->rgBlob[0],
dwExpectedContentTypeFlags, CERT_QUERY_FORMAT_FLAG_BINARY, 0,
NULL, NULL, NULL, NULL, NULL, (const void **)ppvContext);
}
if (!ret)
if (!CryptQueryObject(CERT_QUERY_OBJECT_BLOB, &pObject->rgBlob[0],
dwExpectedContentTypeFlags, CERT_QUERY_FORMAT_FLAG_BINARY, 0, NULL,
NULL, NULL, NULL, NULL, (const void **)ppvContext))
{
SetLastError(CRYPT_E_NO_MATCH);
ret = FALSE;
@@ -1247,21 +1219,10 @@ static BOOL CRYPT_CreateContext(const CRYPT_BLOB_ARRAY *pObject,
for (i = 0; i < pObject->cBlob; i++)
{
if (decode_base64_blob(&pObject->rgBlob[i], &blob))
{
ret = CryptQueryObject(CERT_QUERY_OBJECT_BLOB, &blob,
dwExpectedContentTypeFlags, CERT_QUERY_FORMAT_FLAG_BINARY,
0, NULL, NULL, NULL, NULL, NULL, &context);
CryptMemFree(blob.pbData);
}
else
{
ret = CryptQueryObject(CERT_QUERY_OBJECT_BLOB,
&pObject->rgBlob[i], dwExpectedContentTypeFlags,
CERT_QUERY_FORMAT_FLAG_BINARY, 0, NULL, NULL, NULL, NULL,
NULL, &context);
}
if (ret)
if (CryptQueryObject(CERT_QUERY_OBJECT_BLOB,
&pObject->rgBlob[i], dwExpectedContentTypeFlags,
CERT_QUERY_FORMAT_FLAG_BINARY, 0, NULL, NULL, NULL, NULL,
NULL, &context))
{
if (!addFunc(store, context, CERT_STORE_ADD_ALWAYS, NULL))
ret = FALSE;

View File

@@ -255,64 +255,25 @@ WdmAudOpenSoundDeviceByLegacy(
IN PSOUND_DEVICE SoundDevice,
OUT PVOID *Handle)
{
HDEVINFO hDevInfo;
SP_DEVICE_INTERFACE_DATA DeviceInterfaceData;
GUID SWBusGuid = {STATIC_KSCATEGORY_WDMAUD};
PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData;
/* Only open this if it's not already open */
if ( KernelHandle == INVALID_HANDLE_VALUE )
{
hDevInfo = SetupDiGetClassDevsW(&SWBusGuid, NULL, NULL, DIGCF_DEVICEINTERFACE| DIGCF_PRESENT);
if (!hDevInfo)
{
// failed
return MMSYSERR_ERROR;
}
DeviceInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
if (!SetupDiEnumDeviceInterfaces(hDevInfo, NULL, &SWBusGuid, 0, &DeviceInterfaceData))
{
// failed
SetupDiDestroyDeviceInfoList(hDevInfo);
return MMSYSERR_ERROR;
}
DeviceInterfaceDetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA_W)HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR) + sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W));
if (!DeviceInterfaceDetailData)
{
// failed
SetupDiDestroyDeviceInfoList(hDevInfo);
return MMSYSERR_ERROR;
}
DeviceInterfaceDetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W);
if (!SetupDiGetDeviceInterfaceDetailW(hDevInfo, &DeviceInterfaceData, DeviceInterfaceDetailData,MAX_PATH * sizeof(WCHAR) + sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W), NULL, NULL))
{
// failed
HeapFree(GetProcessHeap(), 0, DeviceInterfaceDetailData);
SetupDiDestroyDeviceInfoList(hDevInfo);
return MMSYSERR_ERROR;
}
SND_TRACE(L"Opening wdmaud device '%s'\n",DeviceInterfaceDetailData->DevicePath);
KernelHandle = CreateFileW(DeviceInterfaceDetailData->DevicePath,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
HeapFree(GetProcessHeap(), 0, DeviceInterfaceDetailData);
SetupDiDestroyDeviceInfoList(hDevInfo);
SND_TRACE(L"Opening wdmaud device\n");
KernelHandle = CreateFileW(KERNEL_DEVICE_NAME,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
}
if ( KernelHandle == INVALID_HANDLE_VALUE )
return MMSYSERR_ERROR;
++ OpenCount;
return MMSYSERR_NOERROR;
return MMSYSERR_NOERROR;
}
MMRESULT
@@ -896,7 +857,7 @@ WdmAudQueryMixerInfoByLegacy(
SND_TRACE(L"uMsg %x Flags %x\n", uMsg, Flags);
Result = GetSoundDeviceInstanceHandle(SoundDeviceInstance, &Handle);
SND_ASSERT( Result == MMSYSERR_NOERROR );
// SND_ASSERT( Result == MMSYSERR_NOERROR );
ZeroMemory(&DeviceInfo, sizeof(WDMAUD_DEVICE_INFO));
DeviceInfo.hDevice = Handle;

View File

@@ -8,16 +8,12 @@
#define COM_NO_WINDOWS_H
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <winuser.h>
#include <mmddk.h>
#include <mmebuddy.h>
#include <ksmedia.h>
#include <interface.h>
#include <devioctl.h>
#include <setupapi.h>
BOOL
WdmAudInitUserModeMixer(VOID);

View File

@@ -11,8 +11,6 @@
#define NDEBUG
#include <debug.h>
#define TAG_KS 'ssKK'
VOID
CompleteRequest(
PIRP Irp,
@@ -31,7 +29,7 @@ AllocateItem(
IN POOL_TYPE PoolType,
IN SIZE_T NumberOfBytes)
{
PVOID Item = ExAllocatePoolWithTag(PoolType, NumberOfBytes, TAG_KS);
PVOID Item = ExAllocatePool(PoolType, NumberOfBytes);
if (!Item)
return Item;

View File

@@ -49,6 +49,9 @@ WdmAudControlDeviceType(
{
ULONG Result = 0;
NTSTATUS Status = STATUS_SUCCESS;
//PWDMAUD_DEVICE_EXTENSION DeviceExtension;
//DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
if (DeviceInfo->DeviceType == MIXER_DEVICE_TYPE)
{
@@ -228,10 +231,14 @@ WdmAudGetDeviceInterface(
IN PIRP Irp,
IN PWDMAUD_DEVICE_INFO DeviceInfo)
{
//PWDMAUD_DEVICE_EXTENSION DeviceExtension;
NTSTATUS Status;
LPWSTR Device;
ULONG Size, Length;
/* get device extension */
//DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
/* get device interface string input length */
Size = DeviceInfo->u.Interface.DeviceInterfaceStringSize;
@@ -413,11 +420,19 @@ IoCompletion (
/* grab next mdl */
Mdl = NextMdl;
}
//IoFreeMdl(Mdl);
/* clear mdl list */
Irp->MdlAddress = Context->Mdl;
Irp->MdlAddress = NULL;
/* check if mdl is locked */
if (Context->Mdl->MdlFlags & MDL_PAGES_LOCKED)
{
/* unlock pages */
MmUnlockPages(Context->Mdl);
}
/* now free the mdl */
IoFreeMdl(Context->Mdl);
DPRINT("IoCompletion Irp %p IoStatus %lx Information %lx Length %lu\n", Irp, Irp->IoStatus.Status, Irp->IoStatus.Information, Length);
@@ -427,9 +442,6 @@ IoCompletion (
Irp->IoStatus.Information = 0;
}
/* dereference file object */
ObDereferenceObject(Context->FileObject);
/* free context */
FreeItem(Context);
@@ -490,6 +502,8 @@ WdmAudReadWrite(
/* remove mdladdress as KsProbeStreamIrp will interprete it as an already probed audio buffer */
Irp->MdlAddress = NULL;
/* check for success */
if (IoStack->MajorFunction == IRP_MJ_WRITE)
{
/* probe the write stream irp */
@@ -506,7 +520,6 @@ WdmAudReadWrite(
{
DPRINT1("KsProbeStreamIrp failed with Status %x Cancel %u\n", Status, Irp->Cancel);
Irp->MdlAddress = Mdl;
FreeItem(Context);
return SetIrpIoStatus(Irp, Status, 0);
}
@@ -519,30 +532,39 @@ WdmAudReadWrite(
if (!NT_SUCCESS(Status))
{
DPRINT1("Invalid pin handle %p\n", DeviceInfo->hDevice);
Irp->MdlAddress = Mdl;
FreeItem(Context);
return SetIrpIoStatus(Irp, Status, 0);
}
/* store file object whose reference is released in the completion callback */
Context->FileObject = FileObject;
/* skip current irp stack location */
IoSkipCurrentIrpStackLocation(Irp);
/* get next stack location */
IoStack = IoGetNextIrpStackLocation(Irp);
/* prepare stack location */
if (Read)
{
IoStack->Parameters.DeviceIoControl.IoControlCode = IOCTL_KS_READ_STREAM;
}
else
{
IoStack->Parameters.DeviceIoControl.IoControlCode = IOCTL_KS_WRITE_STREAM;
}
/* attach file object */
IoStack->FileObject = FileObject;
IoStack->Parameters.Write.Length = Length;
IoStack->MajorFunction = IRP_MJ_WRITE;
IoStack->Parameters.DeviceIoControl.IoControlCode = (Read ? IOCTL_KS_READ_STREAM : IOCTL_KS_WRITE_STREAM);
IoSetCompletionRoutine(Irp, IoCompletion, (PVOID)Context, TRUE, TRUE, TRUE);
/* mark irp as pending */
// IoMarkIrpPending(Irp);
/* call the driver */
Status = IoCallDriver(IoGetRelatedDeviceObject(FileObject), Irp);
/* dereference file object */
ObDereferenceObject(FileObject);
return Status;
}

View File

@@ -153,19 +153,17 @@ WdmAudOpenSysAudioDevices(
return Status;
}
InsertTailList(&DeviceExtension->SysAudioDeviceList, &Entry->Entry);
DeviceExtension->NumSysAudioDevices++;
DPRINT("Opening device %S\n", Entry->SymbolicLink.Buffer);
Status = WdmAudOpenSysAudioDevice(Entry->SymbolicLink.Buffer, &hSysAudio);
if (!NT_SUCCESS(Status))
{
DPRINT1("Failed to open sysaudio %x\n", Status);
FreeItem(Entry->SymbolicLink.Buffer);
FreeItem(Entry);
return Status;
}
InsertTailList(&DeviceExtension->SysAudioDeviceList, &Entry->Entry);
DeviceExtension->NumSysAudioDevices++;
/* get the file object */
Status = ObReferenceObjectByHandle(hSysAudio, FILE_READ_DATA | FILE_WRITE_DATA, *IoFileObjectType, KernelMode, (PVOID*)&FileObject, NULL);
if (!NT_SUCCESS(Status))
@@ -188,6 +186,8 @@ WdmAudRegisterDeviceInterface(
IN PWDMAUD_DEVICE_EXTENSION DeviceExtension)
{
NTSTATUS Status;
UNICODE_STRING SymlinkName = RTL_CONSTANT_STRING(L"\\DosDevices\\wdmaud");
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\wdmaud");
UNICODE_STRING SymbolicLinkName;
Status = IoRegisterDeviceInterface(PhysicalDeviceObject, &KSCATEGORY_WDMAUD, NULL, &SymbolicLinkName);
@@ -195,7 +195,20 @@ WdmAudRegisterDeviceInterface(
{
IoSetDeviceInterfaceState(&SymbolicLinkName, TRUE);
RtlFreeUnicodeString(&SymbolicLinkName);
//DeviceExtension->DeviceInterfaceSupport = TRUE;
DeviceExtension->DeviceInterfaceSupport = TRUE;
return Status;
}
/* failed to register device interface
* create a symbolic link instead
*/
DeviceExtension->DeviceInterfaceSupport = FALSE;
Status = IoCreateSymbolicLink(&SymlinkName, &DeviceName);
if (!NT_SUCCESS(Status))
{
IoDeleteDevice(PhysicalDeviceObject); //FIXME
DPRINT("Failed to create wdmaud symlink!\n");
return Status;
}

View File

@@ -31,19 +31,6 @@ WdmAudInitWorkerRoutine(
/* get device extension */
DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
if (DeviceExtension->FileObject == NULL)
{
/* find available sysaudio devices */
Status = WdmAudOpenSysAudioDevices(DeviceObject, DeviceExtension);
if (!NT_SUCCESS(Status))
{
DPRINT1("WdmAudOpenSysAudioDevices failed with %x\n", Status);
return;
}
}
/* get device count */
DeviceCount = GetSysAudioDeviceCount(DeviceObject);
@@ -87,19 +74,20 @@ WdmAudTimerRoutine(
NTSTATUS
NTAPI
WdmaudAddDevice(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject)
WdmAudInstallDevice(
IN PDRIVER_OBJECT DriverObject)
{
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\wdmaud");
UNICODE_STRING SymlinkName = RTL_CONSTANT_STRING(L"\\DosDevices\\wdmaud");
PDEVICE_OBJECT DeviceObject;
NTSTATUS Status;
PWDMAUD_DEVICE_EXTENSION DeviceExtension;
DPRINT("WdmaudAddDevice called\n");
DPRINT("WdmAudInstallDevice called\n");
Status = IoCreateDevice(DriverObject,
sizeof(WDMAUD_DEVICE_EXTENSION),
NULL,
&DeviceName,
FILE_DEVICE_KS,
0,
FALSE,
@@ -125,7 +113,7 @@ WdmaudAddDevice(
}
/* register device interfaces */
Status = WdmAudRegisterDeviceInterface(PhysicalDeviceObject, DeviceExtension);
Status = WdmAudRegisterDeviceInterface(DeviceObject, DeviceExtension);
if (!NT_SUCCESS(Status))
{
DPRINT1("WdmRegisterDeviceInterface failed with %x\n", Status);
@@ -148,20 +136,26 @@ WdmaudAddDevice(
/* initialize timer */
IoInitializeTimer(DeviceObject, WdmAudTimerRoutine, (PVOID)WdmAudTimerRoutine);
/* find available sysaudio devices */
Status = WdmAudOpenSysAudioDevices(DeviceObject, DeviceExtension);
if (!NT_SUCCESS(Status))
{
DPRINT1("WdmAudOpenSysAudioDevices failed with %x\n", Status);
IoDeleteSymbolicLink(&SymlinkName);
IoDeleteDevice(DeviceObject);
return Status;
}
/* allocate ks device header */
Status = KsAllocateDeviceHeader(&DeviceExtension->DeviceHeader, 0, NULL);
if (!NT_SUCCESS(Status))
{
DPRINT1("KsAllocateDeviceHeader failed with %x\n", Status);
IoDeleteSymbolicLink(&SymlinkName);
IoDeleteDevice(DeviceObject);
return Status;
}
/* attach to device stack */
DeviceExtension->NextDeviceObject = IoAttachDeviceToDeviceStack(DeviceObject, PhysicalDeviceObject);
KsSetDevicePnpAndBaseObject(DeviceExtension->DeviceHeader, DeviceExtension->NextDeviceObject, DeviceObject);
/* start the timer */
IoStartTimer(DeviceObject);
@@ -209,10 +203,10 @@ WdmAudCreate(
NTSTATUS Status;
PIO_STACK_LOCATION IoStack;
PWDMAUD_CLIENT pClient;
PWDMAUD_DEVICE_EXTENSION DeviceExtension;
//PWDMAUD_DEVICE_EXTENSION DeviceExtension;
/* get device extension */
DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
//DeviceExtension = (PWDMAUD_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
#if KS_IMPLEMENTED
Status = KsReferenceSoftwareBusObject((KSDEVICE_HEADER)DeviceObject->DeviceExtension);
@@ -223,13 +217,6 @@ WdmAudCreate(
}
#endif
if (DeviceExtension->FileObject == NULL)
{
/* initialize */
WdmAudInitWorkerRoutine(DeviceObject, NULL);
}
Status = WdmAudOpenSysaudio(DeviceObject, &pClient);
if (!NT_SUCCESS(Status))
{
@@ -367,7 +354,6 @@ DriverEntry(
Driver->MajorFunction[IRP_MJ_WRITE] = WdmAudReadWrite;
Driver->MajorFunction[IRP_MJ_READ] = WdmAudReadWrite;
Driver->MajorFunction[IRP_MJ_POWER] = KsDefaultDispatchPower;
Driver->DriverExtension->AddDevice = WdmaudAddDevice;
return STATUS_SUCCESS;
return WdmAudInstallDevice(Driver);
}

View File

@@ -14,14 +14,12 @@
#define NDEBUG
#include <debug.h>
#define TAG_WDMAUD 'DMDW'
PVOID
AllocateItem(
IN POOL_TYPE PoolType,
IN SIZE_T NumberOfBytes)
{
PVOID Item = ExAllocatePoolWithTag(PoolType, NumberOfBytes, TAG_WDMAUD);
PVOID Item = ExAllocatePool(PoolType, NumberOfBytes);
if (!Item)
return Item;

View File

@@ -11,7 +11,6 @@ typedef struct
PMDL Mdl;
ULONG Length;
ULONG Function;
PFILE_OBJECT FileObject;
}WDMAUD_COMPLETION_CONTEXT, *PWDMAUD_COMPLETION_CONTEXT;
@@ -67,7 +66,6 @@ typedef struct
KEVENT InitializationCompletionEvent;
ULONG WorkItemActive;
PDEVICE_OBJECT NextDeviceObject;
}WDMAUD_DEVICE_EXTENSION, *PWDMAUD_DEVICE_EXTENSION;
typedef struct

View File

@@ -17,11 +17,11 @@ endmacro()
string(TIMESTAMP KERNEL_VERSION_BUILD %Y%m%d UTC)
set(KERNEL_VERSION_MAJOR "0")
set(KERNEL_VERSION_MINOR "4")
set(KERNEL_VERSION_PATCH_LEVEL "0")
set(KERNEL_VERSION_MINOR "3")
set(KERNEL_VERSION_PATCH_LEVEL "17")
set(COPYRIGHT_YEAR "2015")
# KERNEL_VERSION_BUILD_TYPE is "SVN", "RC1", "RC2" or "" (for the release)
set(KERNEL_VERSION_BUILD_TYPE "SVN")
set(KERNEL_VERSION_BUILD_TYPE "CLT2015")
set(KERNEL_VERSION "${KERNEL_VERSION_MAJOR}.${KERNEL_VERSION_MINOR}")

View File

@@ -52,23 +52,23 @@ reactos/dll/directx/wine/wined3d # Synced to WineStaging-1.7.37
reactos/dll/win32/activeds # Synced to Wine-1.7.27
reactos/dll/win32/actxprxy # Synced to Wine-1.7.27
reactos/dll/win32/advpack # Synced to WineStaging-1.7.37
reactos/dll/win32/atl # Synced to WineStaging-1.7.37
reactos/dll/win32/atl80 # Synced to WineStaging-1.7.37
reactos/dll/win32/atl100 # Synced to WineStaging-1.7.37
reactos/dll/win32/avifil32 # Synced to WineStaging-1.7.37
reactos/dll/win32/bcrypt # Synced to WineStaging-1.7.37
reactos/dll/win32/atl # Synced to Wine-1.7.27
reactos/dll/win32/atl80 # Synced to Wine-1.7.27
reactos/dll/win32/atl100 # Synced to Wine-1.7.27
reactos/dll/win32/avifil32 # Synced to Wine-1.7.27
reactos/dll/win32/bcrypt # Synced to Wine-1.7.27
reactos/dll/win32/browseui # Out of sync
reactos/dll/win32/cabinet # Synced to WineStaging-1.7.37
reactos/dll/win32/cabinet # Synced to Wine-1.7.27
reactos/dll/win32/clusapi # Synced to Wine-1.7.27
reactos/dll/win32/comcat # Synced to Wine-1.7.27
reactos/dll/win32/comctl32 # Synced to WineStaging-1.7.37
reactos/dll/win32/comdlg32 # Synced to WineStaging-1.7.37
reactos/dll/win32/comctl32 # Synced to Wine-1.7.27
reactos/dll/win32/comdlg32 # Synced to Wine-1.7.27
reactos/dll/win32/compstui # Synced to Wine-1.7.27
reactos/dll/win32/credui # Synced to Wine-1.7.27
reactos/dll/win32/crypt32 # Synced to WineStaging-1.7.37
reactos/dll/win32/crypt32 # Synced to Wine-1.7.27
reactos/dll/win32/cryptdlg # Synced to Wine-1.7.27
reactos/dll/win32/cryptdll # Synced to Wine-1.7.27
reactos/dll/win32/cryptnet # Synced to WineStaging-1.7.37
reactos/dll/win32/cryptnet # Synced to Wine-1.7.27
reactos/dll/win32/cryptui # Synced to Wine-1.7.27
reactos/dll/win32/dbghelp # Synced to Wine-1.7.27
reactos/dll/win32/dciman32 # Synced to Wine-1.7.27

View File

@@ -76,7 +76,7 @@ AddReg=Classes
11,,msxml6.dll,1
11,,netcfgx.dll,1
11,,netshell.dll,1
11,,ntobjshex.dll,1
;11,,ntobjshex.dll,1
11,,objsel.dll,1
11,,ole32.dll,1
11,,oleacc.dll,1

View File

@@ -30,6 +30,8 @@ ExcludeFromSelect = WDMAUDIO_CopyFilesOnlyId
%WDM_WDMAUD.DeviceDesc% = WDM_WDMAUD, SW\{CD171DE3-69E5-11D2-B56D-0000F8754380}
;%WDM_DRMKAUD.DeviceDesc% = WDM_DRMKAUD, SW\{EEC12DB6-AD9C-4168-8658-B03DAEF417FE}
%WDMAUDIO_CopyFilesOnlyId.DeviceDesc% = WDMAUDIO.CopyFilesOnly, WDMAUDIO_CopyFilesOnlyId
[WDMAUDIO.CopyFilesOnly]
CopyFiles=WDM.CopyFiles, FX.CopyList
@@ -43,12 +45,6 @@ CopyFiles = WDM.CopyFiles
AddReg = DeviceRegistration
CopyFiles = WDM.CopyFiles
;; copied to system32\drivers
[WDM.CopyFiles]
drmk.sys,,,0x0100
portcls.sys,,,0x0100
[DeviceRegistration]
; Kmixer swenum install
;HKLM,%RunOnce%,"WDM_KMIXER0",,"rundll32.exe streamci.dll,StreamingDeviceSetup %WDM_KMIXER.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_MIXER%,%17%\WDMAUDIO.inf,WDM_KMIXER.Interface.Install"
@@ -164,6 +160,10 @@ StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\drmkaud.sys
;; copied to system32\drivers
[WDM.CopyFiles]
drmk.sys,,,0x0100
portcls.sys,,,0x0100
;; Destination Directory List
[DestinationDirs]

View File

@@ -0,0 +1,15 @@
list(APPEND WALLPAPER_FILES
clouds.jpg
grass.jpg
lake.jpg
ReactOS_CirclesBlue.jpg
ReactOS_CirclesGold.jpg
ReactOS_CirclesGold.bmp
ReactOS_Light_4-3.jpg
ReactOS_Light_16-9.jpg
ReadMe.txt)
foreach(item ${WALLPAPER_FILES})
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/${item}" DESTINATION reactos/Web/Wallpaper FOR all)
endforeach(item)

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -0,0 +1,14 @@
Wallpapers
==========
Most of the wallpapers were adapted from original ones for the CLT 2015.
File Name | Author | Origin
--------------------------------------------------------------------------------------------------------------------------------------------------
clouds.jpg | Andreas Bjerkeholt (harteex@gmail.com) | http://www.reactos.org/forum/viewtopic.php?p=17732#p17732
lake.jpg | See above | See above
grass.jpg | Public domain | https://jira.reactos.org/browse/CORE-8446 and links inside
ReactOS_CirclesBlue.jpg | Forum user "henrytang5247" (Henry Tang) | http://www.reactos.org/forum/viewtopic.php?p=109529#p109529
ReactOS_CirclesGold.jpg | See above | See above
ReactOS_Light_4-3.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | http://www.reactos.org/forum/viewtopic.php?p=50543#p50543
ReactOS_Light_16-9.jpg | See above | See above

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

View File

@@ -3,6 +3,11 @@
#define TAG_GDEV 'gdev'
VOID
NTAPI
PDEVOBJ_vRefreshModeList(
PPDEVOBJ ppdev);
extern PGRAPHICS_DEVICE gpPrimaryGraphicsDevice;
extern PGRAPHICS_DEVICE gpVgaGraphicsDevice;

View File

@@ -10,6 +10,8 @@
#define NDEBUG
#include <debug.h>
DBG_DEFAULT_CHANNEL(UserDisplay);
PPDEVOBJ gppdevPrimary = NULL;
static PPDEVOBJ gppdevList = NULL;
@@ -225,10 +227,111 @@ PDEVOBJ_pSurface(
/* Increment reference count */
GDIOBJ_vReferenceObjectByPointer(&ppdev->pSurface->BaseObject);
DPRINT("PDEVOBJ_pSurface() returning %p\n", ppdev->pSurface);
TRACE("PDEVOBJ_pSurface() returning %p\n", ppdev->pSurface);
return ppdev->pSurface;
}
VOID
NTAPI
PDEVOBJ_vRefreshModeList(
PPDEVOBJ ppdev)
{
PGRAPHICS_DEVICE pGraphicsDevice;
PDEVMODEENTRY pTmpDevModeList, pOldDevModeList;
PDEVMODEINFO pdminfo;
PDEVMODEW pdm, pdmEnd;
UINT cModes = 0;
UINT j = 0;
/* Lock the PDEV */
EngAcquireSemaphore(ppdev->hsemDevLock);
pGraphicsDevice = ppdev->pGraphicsDevice;
TRACE("Enter PDEVOBJ_vRefreshModeList('%ws'/'%ws')\n",
pGraphicsDevice->szNtDeviceName,
pGraphicsDevice->szWinDeviceName);
pdminfo = LDEVOBJ_pdmiGetModes(ppdev->pldev, pGraphicsDevice->DeviceObject);
if (!pdminfo || pdminfo->cbdevmode == 0)
{
ERR("Could not get an updated mode list for '%ls'\n", pGraphicsDevice->szWinDeviceName);
}
else
{
TRACE("Bingo! We've just got some (%lu) new modes for '%ls'.\n", pdminfo->cbdevmode/sizeof(DEVMODEW), pGraphicsDevice->szWinDeviceName);
/* Loop all DEVMODEs */
pdmEnd = (DEVMODEW*)((PCHAR)pdminfo->adevmode + pdminfo->cbdevmode);
for (pdm = pdminfo->adevmode;
(pdm + 1 <= pdmEnd) && (pdm->dmSize != 0);
pdm = (DEVMODEW*)((PCHAR)pdm + pdm->dmSize + pdm->dmDriverExtra))
{
TRACE("mode %lu -- %lux%lux%lu (%lu hz)\n", cModes, pdminfo->adevmode[cModes].dmPelsWidth,
pdminfo->adevmode[cModes].dmPelsHeight,
pdminfo->adevmode[cModes].dmBitsPerPel,
pdminfo->adevmode[cModes].dmDisplayFrequency);
/* Some drivers like the VBox driver don't fill the dmDeviceName
with the name of the display driver. So fix that here. */
wcsncpy(pdminfo->adevmode[cModes].dmDeviceName, pGraphicsDevice->pDiplayDrivers, CCHDEVICENAME);
pdminfo->adevmode[cModes].dmDeviceName[CCHDEVICENAME - 1] = 0;
/* Count this DEVMODE */
cModes++;
}
if (cModes == 0)
{
ERR("No valid devmodes returned by the driver on mode list refresh!\n");
ExFreePoolWithTag(pdminfo, GDITAG_DEVMODE);
return;
}
/* Allocate an index buffer early on, even before trying to change the graphics device struct */
pTmpDevModeList = ExAllocatePoolWithTag(PagedPool,
cModes * sizeof(DEVMODEENTRY),
GDITAG_GDEVICE);
if (!pTmpDevModeList)
{
ERR("Bummer! Not enough memory to alloc a new DevModeList\n");
return;
}
/* Save a reference to the old thing */
pOldDevModeList = pGraphicsDevice->pDevModeList;
/* Attach the new mode info and company to the device,
the GraphicsDevice could potentially use additional synchonisation mechanisms */
pdminfo->pdmiNext = pGraphicsDevice->pdevmodeInfo;
pGraphicsDevice->pdevmodeInfo = pdminfo;
pGraphicsDevice->cDevModes = cModes;
pGraphicsDevice->pDevModeList = pTmpDevModeList;
/* Don't leak the previous DevModeList, please! */
ExFreePoolWithTag(pOldDevModeList, GDITAG_GDEVICE);
/* Loop through the DEVMODEs */
for (pdm = pdminfo->adevmode;
(pdm + 1 <= pdmEnd) && (pdm->dmSize != 0);
pdm = (PDEVMODEW)((PCHAR)pdm + pdm->dmSize + pdm->dmDriverExtra))
{
/* Initialize the entry */
pGraphicsDevice->pDevModeList[j].dwFlags = 0;
pGraphicsDevice->pDevModeList[j].pdm = &pdminfo->adevmode[j];
j++;
}
}
/* Unlock PDEV */
EngReleaseSemaphore(ppdev->hsemDevLock);
}
PDEVMODEW
NTAPI
PDEVOBJ_pdmMatchDevMode(
@@ -242,13 +345,32 @@ PDEVOBJ_pdmMatchDevMode(
pGraphicsDevice = ppdev->pGraphicsDevice;
TRACE("looking for mode -- %lux%lux%lu (%lu hz) (%ls)\n", pdm->dmPelsWidth,
pdm->dmPelsHeight,
pdm->dmBitsPerPel,
pdm->dmDisplayFrequency,
pdm->dmDeviceName);
for (i = 0; i < pGraphicsDevice->cDevModes; i++)
{
pdmCurrent = pGraphicsDevice->pDevModeList[i].pdm;
TRACE("mode %lu -- %lux%lux%lu (%lu hz) (%ls)\n", i, pdmCurrent->dmPelsWidth,
pdmCurrent->dmPelsHeight,
pdmCurrent->dmBitsPerPel,
pdmCurrent->dmDisplayFrequency,
pdmCurrent->dmDeviceName);
}
TRACE("---\n");
for (i = 0; i < pGraphicsDevice->cDevModes; i++)
{
pdmCurrent = pGraphicsDevice->pDevModeList[i].pdm;
/* Compare asked DEVMODE fields
* Only compare those that are valid in both DEVMODE structs */
dwFields = pdmCurrent->dmFields & pdm->dmFields ;
dwFields = pdmCurrent->dmFields & pdm->dmFields;
/* For now, we only need those */
if ((dwFields & DM_BITSPERPEL) &&
@@ -260,6 +382,12 @@ PDEVOBJ_pdmMatchDevMode(
if ((dwFields & DM_DISPLAYFREQUENCY) &&
(pdmCurrent->dmDisplayFrequency != pdm->dmDisplayFrequency)) continue;
TRACE("chosen mode %lu -- %lux%lux%lu (%lu hz) (%ls)\n", i, pdmCurrent->dmPelsWidth,
pdmCurrent->dmPelsHeight,
pdmCurrent->dmBitsPerPel,
pdmCurrent->dmDisplayFrequency,
pdmCurrent->dmDeviceName);
/* Match! Return the DEVMODE */
return pdmCurrent;
}
@@ -331,7 +459,7 @@ EngpCreatePDEV(
ppdev->pGraphicsDevice = pGraphicsDevice;
ppdev->hsemDevLock = EngCreateSemaphore();
// Should we change the ative mode of pGraphicsDevice ?
// Should we change the active mode of pGraphicsDevice ?
ppdev->pdmwDev = PDEVOBJ_pdmMatchDevMode(ppdev, pdm) ;
/* FIXME! */

View File

@@ -462,22 +462,34 @@ UserEnumDisplaySettings(
PGRAPHICS_DEVICE pGraphicsDevice;
PDEVMODEENTRY pdmentry;
ULONG i, iFoundMode;
PPDEVOBJ ppdev;
TRACE("Enter UserEnumDisplaySettings('%wZ', %lu)\n",
pustrDevice, iModeNum);
/* Ask GDI for the GRAPHICS_DEVICE */
pGraphicsDevice = EngpFindGraphicsDevice(pustrDevice, 0, 0);
ppdev = EngpGetPDEV(pustrDevice);
if (!pGraphicsDevice)
if (!pGraphicsDevice || !ppdev)
{
/* No device found */
ERR("No device found!\n");
return STATUS_UNSUCCESSFUL;
}
/* let's politely ask the driver for an updated mode list,
just in case there's something new in there (vbox) */
PDEVOBJ_vRefreshModeList(ppdev);
PDEVOBJ_vRelease(ppdev);
/* FIXME: maybe only refresh when iModeNum is bigger than cDevModes? */
if (iModeNum >= pGraphicsDevice->cDevModes)
{
ERR("STATUS_NO_MORE_ENTRIES!\n");
return STATUS_NO_MORE_ENTRIES;
}
iFoundMode = 0;
for (i = 0; i < pGraphicsDevice->cDevModes; i++)

View File

@@ -1,5 +1,4 @@
add_definitions(-DUSE_WINE_TODOS)
add_definitions(-D_ATL_VER=_ATL_VER_100)
list(APPEND SOURCE atl.c testlist.c)
add_executable(atl100_winetest ${SOURCE})

View File

@@ -33,7 +33,6 @@
#include <wingdi.h>
#include <objbase.h>
#include <oleauto.h>
#include <exdisp.h>
#include <wine/atlbase.h>
#include <mshtml.h>
@@ -52,25 +51,6 @@ static const GUID CATID_CatTest2 =
{0x178fc163,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x46}};
#define CATID_CATTEST2_STR "178fc163-0000-0000-0000-000000000246"
static const WCHAR emptyW[] = {'\0'};
static const WCHAR randomW[] = {'r','a','n','d','o','m','\0'};
static const WCHAR progid1W[] = {'S','h','e','l','l','.','E','x','p','l','o','r','e','r','.','2','\0'};
static const WCHAR clsid1W[] = {'{','8','8','5','6','f','9','6','1','-','3','4','0','a','-',
'1','1','d','0','-','a','9','6','b','-',
'0','0','c','0','4','f','d','7','0','5','a','2','}','\0'};
static const WCHAR url1W[] = {'h','t','t','p',':','/','/','t','e','s','t','.','w','i','n','e','h','q',
'.','o','r','g','/','t','e','s','t','s','/','w','i','n','e','h','q','_',
's','n','a','p','s','h','o','t','/','\0'};
static const WCHAR mshtml1W[] = {'m','s','h','t','m','l',':','<','h','t','m','l','>','<','b','o','d','y','>',
't','e','s','t','<','/','b','o','d','y','>','<','/','h','t','m','l','>','\0'};
static const WCHAR mshtml2W[] = {'M','S','H','T','M','L',':','<','h','t','m','l','>','<','b','o','d','y','>',
't','e','s','t','<','/','b','o','d','y','>','<','/','h','t','m','l','>','\0'};
static const WCHAR mshtml3W[] = {'<','h','t','m','l','>','<','b','o','d','y','>', 't','e','s','t',
'<','/','b','o','d','y','>','<','/','h','t','m','l','>','\0'};
static const WCHAR fileW[] = {'f','i','l','e',':','/','/','/','\0'};
static const WCHAR html_fileW[] = {'t','e','s','t','.','h','t','m','l','\0'};
static const char html_str[] = "<html><body>test</body><html>";
static BOOL is_process_limited(void)
{
static BOOL (WINAPI *pOpenProcessToken)(HANDLE, DWORD, PHANDLE) = NULL;
@@ -619,405 +599,32 @@ static void test_source_iface(void)
static void test_ax_win(void)
{
DWORD ret, ret_size, i;
HRESULT res;
HWND hwnd;
HANDLE hfile;
IUnknown *control;
WNDPROC wndproc[2] = {NULL, NULL};
WCHAR file_uri1W[MAX_PATH], pathW[MAX_PATH];
BOOL ret;
WNDCLASSEXW wcex;
static const WCHAR AtlAxWin100[] = {'A','t','l','A','x','W','i','n','1','0','0',0};
static const WCHAR AtlAxWinLic100[] = {'A','t','l','A','x','W','i','n','L','i','c','1','0','0',0};
static HMODULE hinstance = 0;
static const WCHAR cls_names[][16] =
{
{'A','t','l','A','x','W','i','n','1','0','0',0},
{'A','t','l','A','x','W','i','n','L','i','c','1','0','0',0}
};
ret = AtlAxWinInit();
ok(ret, "AtlAxWinInit failed\n");
hinstance = GetModuleHandleA(NULL);
for (i = 0; i < 2; i++)
{
memset(&wcex, 0, sizeof(wcex));
wcex.cbSize = sizeof(wcex);
ret = GetClassInfoExW(hinstance, cls_names[i], &wcex);
ok(ret, "%s has not registered\n", wine_dbgstr_w(cls_names[i]));
ok(wcex.style == (CS_GLOBALCLASS | CS_DBLCLKS), "wcex.style %08x\n", wcex.style);
wndproc[i] = wcex.lpfnWndProc;
memset(&wcex, 0, sizeof(wcex));
wcex.cbSize = sizeof(wcex);
ret = GetClassInfoExW(hinstance, AtlAxWin100, &wcex);
ok(ret, "AtlAxWin100 has not registered\n");
ok(wcex.style == (CS_GLOBALCLASS | CS_DBLCLKS), "wcex.style %08x\n", wcex.style);
hwnd = CreateWindowW(cls_names[i], NULL, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = (IUnknown *)0xdeadbeef;
res = AtlAxGetControl(hwnd, &control);
ok(res == E_FAIL, "Expected E_FAIL, returned %08x\n", res);
ok(!control, "returned %p\n", control);
if (control) IUnknown_Release(control);
DestroyWindow(hwnd);
hwnd = CreateWindowW(cls_names[i], emptyW, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = (IUnknown *)0xdeadbeef;
res = AtlAxGetControl(hwnd, &control);
ok(res == E_FAIL, "Expected E_FAIL, returned %08x\n", res);
ok(!control, "returned %p\n", control);
if (control) IUnknown_Release(control);
DestroyWindow(hwnd);
hwnd = CreateWindowW(cls_names[i], randomW, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
todo_wine ok(!hwnd, "returned %p\n", hwnd);
if(hwnd) DestroyWindow(hwnd);
hwnd = CreateWindowW(cls_names[i], progid1W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
hwnd = CreateWindowW(cls_names[i], clsid1W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
hwnd = CreateWindowW(cls_names[i], url1W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
/* test html stream with "MSHTML:" prefix */
hwnd = CreateWindowW(cls_names[i], mshtml1W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
hwnd = CreateWindowW(cls_names[i], mshtml2W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
/* test html stream without "MSHTML:" prefix */
hwnd = CreateWindowW(cls_names[i], mshtml3W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
todo_wine ok(!hwnd, "returned %p\n", hwnd);
if(hwnd) DestroyWindow(hwnd);
ret = GetTempPathW(MAX_PATH, pathW);
ok(ret, "GetTempPath failed!\n");
lstrcatW(pathW, html_fileW);
hfile = CreateFileW(pathW, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, 0);
ok(hfile != INVALID_HANDLE_VALUE, "failed to create file\n");
ret = WriteFile(hfile, html_str, sizeof(html_str), &ret_size, NULL);
ok(ret, "WriteFile failed\n");
CloseHandle(hfile);
/* test C:// scheme */
hwnd = CreateWindowW(cls_names[i], pathW, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
/* test file:// scheme */
lstrcpyW(file_uri1W, fileW);
lstrcatW(file_uri1W, pathW);
hwnd = CreateWindowW(cls_names[i], file_uri1W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
/* test file:// scheme on non-existent file */
ret = DeleteFileW(pathW);
ok(ret, "DeleteFile failed!\n");
hwnd = CreateWindowW(cls_names[i], file_uri1W, 0, 100, 100, 100, 100, NULL, NULL, NULL, NULL);
ok(hwnd != NULL, "CreateWindow failed!\n");
control = NULL;
res = AtlAxGetControl(hwnd, &control);
ok(res == S_OK, "AtlAxGetControl failed with res %08x\n", res);
ok(control != NULL, "AtlAxGetControl failed!\n");
IUnknown_Release(control);
DestroyWindow(hwnd);
}
todo_wine ok(wndproc[0] != wndproc[1], "expected different proc!\n");
}
static ATOM register_class(void)
{
WNDCLASSA wndclassA;
wndclassA.style = 0;
wndclassA.lpfnWndProc = DefWindowProcA;
wndclassA.cbClsExtra = 0;
wndclassA.cbWndExtra = 0;
wndclassA.hInstance = GetModuleHandleA(NULL);
wndclassA.hIcon = NULL;
wndclassA.hCursor = LoadCursorA(NULL, (LPSTR)IDC_ARROW);
wndclassA.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
wndclassA.lpszMenuName = NULL;
wndclassA.lpszClassName = "WineAtlTestClass";
return RegisterClassA(&wndclassA);
}
static HWND create_container_window(void)
{
return CreateWindowA("WineAtlTestClass", "Wine ATL Test Window", 0,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, NULL, NULL, NULL, NULL);
}
static void test_AtlAxAttachControl(void)
{
HWND hwnd;
HRESULT hr;
IUnknown *control, *container;
LONG val;
hr = AtlAxAttachControl(NULL, NULL, NULL);
ok(hr == E_INVALIDARG, "Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n", hr);
container = (IUnknown *)0xdeadbeef;
hr = AtlAxAttachControl(NULL, NULL, &container);
ok(hr == E_INVALIDARG, "Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n", hr);
ok(container == (IUnknown *)0xdeadbeef,
"Expected the output container pointer to be untouched, got %p\n", container);
hwnd = create_container_window();
hr = AtlAxAttachControl(NULL, hwnd, NULL);
ok(hr == E_INVALIDARG, "Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n", hr);
DestroyWindow(hwnd);
hwnd = create_container_window();
container = (IUnknown *)0xdeadbeef;
hr = AtlAxAttachControl(NULL, hwnd, &container);
ok(hr == E_INVALIDARG, "Expected AtlAxAttachControl to return E_INVALIDARG, got 0x%08x\n", hr);
ok(container == (IUnknown *)0xdeadbeef, "returned %p\n", container);
DestroyWindow(hwnd);
hr = CoCreateInstance(&CLSID_WebBrowser, NULL, CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER,
&IID_IOleObject, (void **)&control);
ok(hr == S_OK, "Expected CoCreateInstance to return S_OK, got 0x%08x\n", hr);
if (FAILED(hr))
{
skip("Couldn't obtain a test IOleObject instance\n");
return;
}
hr = AtlAxAttachControl(control, NULL, NULL);
ok(hr == S_FALSE, "Expected AtlAxAttachControl to return S_FALSE, got 0x%08x\n", hr);
container = NULL;
hr = AtlAxAttachControl(control, NULL, &container);
ok(hr == S_FALSE, "Expected AtlAxAttachControl to return S_FALSE, got 0x%08x\n", hr);
ok(container != NULL, "got %p\n", container);
IUnknown_Release(container);
hwnd = create_container_window();
SetWindowLongW(hwnd, GWLP_USERDATA, 0xdeadbeef);
hr = AtlAxAttachControl(control, hwnd, NULL);
ok(hr == S_OK, "Expected AtlAxAttachControl to return S_OK, got 0x%08x\n", hr);
val = GetWindowLongW(hwnd, GWLP_USERDATA);
ok(val == 0xdeadbeef, "returned %08x\n", val);
DestroyWindow(hwnd);
hwnd = create_container_window();
SetWindowLongW(hwnd, GWLP_USERDATA, 0xdeadbeef);
container = NULL;
hr = AtlAxAttachControl(control, hwnd, &container);
ok(hr == S_OK, "Expected AtlAxAttachControl to return S_OK, got 0x%08x\n", hr);
ok(container != NULL, "Expected not NULL!\n");
val = GetWindowLongW(hwnd, GWLP_USERDATA);
ok(val == 0xdeadbeef, "Expected unchanged, returned %08x\n", val);
DestroyWindow(hwnd);
IUnknown_Release(control);
}
static void test_AtlAxCreateControl(void)
{
HWND hwnd;
IUnknown *control, *container;
HRESULT hr;
DWORD ret, ret_size;
HANDLE hfile;
WCHAR file_uri1W[MAX_PATH], pathW[MAX_PATH];
container = NULL;
control = (IUnknown *)0xdeadbeef;
hr = AtlAxCreateControlEx(NULL, NULL, NULL, &container, &control, NULL, NULL);
todo_wine ok(hr == S_FALSE, "got 0x%08x\n", hr);
todo_wine ok(container != NULL, "returned %p\n", container);
ok(!control, "returned %p\n", control);
container = NULL;
control = (IUnknown *)0xdeadbeef;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(NULL, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
todo_wine ok(container != NULL, "returned %p!\n", container);
ok(!control, "returned %p\n", control);
DestroyWindow(hwnd);
container = NULL;
control = (IUnknown *)0xdeadbeef;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(emptyW, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
todo_wine ok(container != NULL, "returned %p!\n", container);
ok(!control, "returned %p\n", control);
DestroyWindow(hwnd);
container = (IUnknown *)0xdeadbeef;
control = (IUnknown *)0xdeadbeef;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(randomW, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == CO_E_CLASSSTRING, "got 0x%08x\n", hr);
ok(!container, "returned %p!\n", container);
ok(!control, "returned %p\n", control);
DestroyWindow(hwnd);
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(progid1W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(clsid1W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(url1W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(mshtml1W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(mshtml2W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
container = (IUnknown *)0xdeadbeef;
control = (IUnknown *)0xdeadbeef;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(mshtml3W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == CO_E_CLASSSTRING, "got 0x%08x\n", hr);
ok(!container, "returned %p!\n", container);
ok(!control, "returned %p\n", control);
DestroyWindow(hwnd);
ret = GetTempPathW(MAX_PATH, pathW);
ok(ret, "GetTempPath failed!\n");
lstrcatW(pathW, html_fileW);
hfile = CreateFileW(pathW, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, 0);
ok(hfile != INVALID_HANDLE_VALUE, "failed to create file\n");
ret = WriteFile(hfile, html_str, sizeof(html_str), &ret_size, NULL);
ok(ret, "WriteFile failed\n");
CloseHandle(hfile);
/* test C:// scheme */
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(pathW, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
/* test file:// scheme */
lstrcpyW(file_uri1W, fileW);
lstrcatW(file_uri1W, pathW);
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(file_uri1W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
/* test file:// scheme on non-existent file. */
ret = DeleteFileW(pathW);
ok(ret, "DeleteFile failed!\n");
container = NULL;
control = NULL;
hwnd = create_container_window();
ok(hwnd != NULL, "create window failed!\n");
hr = AtlAxCreateControlEx(file_uri1W, hwnd, NULL, &container, &control, &IID_NULL, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(container != NULL, "returned %p!\n", container);
ok(control != NULL, "returned %p\n", control);
DestroyWindow(hwnd);
memset(&wcex, 0, sizeof(wcex));
wcex.cbSize = sizeof(wcex);
ret = GetClassInfoExW(hinstance, AtlAxWinLic100, &wcex);
ok(ret, "AtlAxWinLic100 has not registered\n");
ok(wcex.style == (CS_GLOBALCLASS | CS_DBLCLKS), "wcex.style %08x\n", wcex.style);
}
START_TEST(atl)
{
if (!register_class())
return;
CoInitialize(NULL);
test_winmodule();
@@ -1026,8 +633,6 @@ START_TEST(atl)
test_cp();
test_source_iface();
test_ax_win();
test_AtlAxAttachControl();
test_AtlAxCreateControl();
CoUninitialize();
}

View File

@@ -187,39 +187,6 @@ static LONG CDECL fdi_seek(INT_PTR hf, LONG dist, int seektype)
return SetFilePointer(handle, dist, NULL, seektype);
}
/* Callbacks for testing FDIIsCabinet with hf == 0 */
static INT_PTR static_fdi_handle;
static INT_PTR CDECL fdi_open_static(char *pszFile, int oflag, int pmode)
{
ok(0, "FDIIsCabinet shouldn't call pfnopen\n");
return 1;
}
static UINT CDECL fdi_read_static(INT_PTR hf, void *pv, UINT cb)
{
ok(hf == 0, "unexpected hf %lx\n", hf);
return fdi_read(static_fdi_handle, pv, cb);
}
static UINT CDECL fdi_write_static(INT_PTR hf, void *pv, UINT cb)
{
ok(0, "FDIIsCabinet shouldn't call pfnwrite\n");
return 0;
}
static int CDECL fdi_close_static(INT_PTR hf)
{
ok(0, "FDIIsCabinet shouldn't call pfnclose\n");
return 0;
}
static LONG CDECL fdi_seek_static(INT_PTR hf, LONG dist, int seektype)
{
ok(hf == 0, "unexpected hf %lx\n", hf);
return fdi_seek(static_fdi_handle, dist, seektype);
}
static void test_FDICreate(void)
{
HFDI hfdi;
@@ -716,28 +683,6 @@ static void test_FDIIsCabinet(void)
fdi_close(fd);
FDIDestroy(hfdi);
hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open_static, fdi_read_static,
fdi_write_static, fdi_close_static, fdi_seek_static,
cpuUNKNOWN, &erf);
ok(hfdi != NULL, "Expected non-NULL context\n");
/* FDIIsCabinet accepts hf == 0 even though it's not a valid result of pfnopen */
static_fdi_handle = fdi_open(extract, 0, 0);
ZeroMemory(&cabinfo, sizeof(FDICABINETINFO));
SetLastError(0xdeadbeef);
ret = FDIIsCabinet(hfdi, 0, &cabinfo);
ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", GetLastError());
ok(cabinfo.cFiles == 4, "Expected 4, got %d\n", cabinfo.cFiles);
ok(cabinfo.cFolders == 1, "Expected 1, got %d\n", cabinfo.cFolders);
ok(cabinfo.setID == 0xbeef, "Expected 0xbeef, got %d\n", cabinfo.setID);
ok(cabinfo.cbCabinet == 182, "Expected 182, got %d\n", cabinfo.cbCabinet);
ok(cabinfo.iCabinet == 0, "Expected 0, got %d\n", cabinfo.iCabinet);
fdi_close(static_fdi_handle);
FDIDestroy(hfdi);
delete_test_files();
}

View File

@@ -432,6 +432,13 @@ static const struct message setcheck_ignored_seq[] =
{ 0 }
};
static const struct message setcheck_uncheck_seq[] =
{
{ BM_SETCHECK, sent },
{ WM_APP, sent|wparam|lparam, 0, 0 },
{ 0 }
};
static const struct message setcheck_static_seq[] =
{
{ BM_SETCHECK, sent },
@@ -757,7 +764,7 @@ if (ret) /* TODO: remove once Wine is fixed */
ok(!strcmp(buffA, "Button"), "got %s\n", buffA);
DestroyWindow(hwnd);
/* explicitly create with versioned class name */
/* explicitely create with versioned class name */
hwnd = CreateWindowExW(0, nameW, testW, BS_CHECKBOX, 0, 0, 50, 14, NULL, 0, 0, NULL);
todo_wine
ok(hwnd != NULL, "failed to create a window %s\n", wine_dbgstr_w(nameW));

View File

@@ -132,7 +132,7 @@ static HWND subclass_editbox(HWND hwndComboEx)
static void test_comboboxex(void) {
HWND myHwnd = 0;
LONG res;
LONG res = -1;
COMBOBOXEXITEMA cbexItem;
static const char *first_item = "First Item",
*second_item = "Second Item",

Some files were not shown because too many files have changed in this diff Show More