ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
February 2005
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
23 participants
411 discussions
Start a n
N
ew thread
[gvg] 13516: Sync to Wine-20050211
by gvg@svn.reactos.com
Sync to Wine-20050211 Juan Lang <juan_lang(a)yahoo.com> - Make netspi.h private, as some of its declarations conflict with npapi.h. Spotted by Paul Vriens. Jonathan Ernst <Jonathan(a)ErnstFamily.ch> - Updated French resources. Henning Gerhardt <henning.gerhardt(a)web.de> - Update German resources. Modified: trunk/reactos/lib/mpr/mpr.rc Modified: trunk/reactos/lib/mpr/mpr_De.rc Added: trunk/reactos/lib/mpr/mpr_Fr.rc Added: trunk/reactos/lib/mpr/netspi.h Modified: trunk/reactos/lib/mpr/nps.c _____ Modified: trunk/reactos/lib/mpr/mpr.rc --- trunk/reactos/lib/mpr/mpr.rc 2005-02-12 21:07:16 UTC (rev 13515) +++ trunk/reactos/lib/mpr/mpr.rc 2005-02-12 21:26:15 UTC (rev 13516) @@ -27,8 +27,9 @@ #include "mpr_Cs.rc" #include "mpr_De.rc" #include "mpr_En.rc" -#include "mpr_Nl.rc" #include "mpr_Es.rc" +#include "mpr_Fr.rc" #include "mpr_It.rc" #include "mpr_Ja.rc" +#include "mpr_Nl.rc" #include "mpr_Pt.rc" _____ Modified: trunk/reactos/lib/mpr/mpr_De.rc --- trunk/reactos/lib/mpr/mpr_De.rc 2005-02-12 21:07:16 UTC (rev 13515) +++ trunk/reactos/lib/mpr/mpr_De.rc 2005-02-12 21:26:15 UTC (rev 13516) @@ -24,3 +24,23 @@ { IDS_ENTIRENETWORK "Gesamtes Netzwerk" } + +IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Netzwerkkennung eingeben" +FONT 8, "Helv" +{ + LTEXT "Bitte geben Sie Benutzernamen und Kennwort ein:", IDC_EXPLAIN, 40, 6, 150, 15 + LTEXT "Proxy", -1, 40, 26, 50, 10 +/* LTEXT "Bereich", -1, 40, 46, 50, 10 */ + LTEXT "Benutzername", -1, 40, 66, 50, 10 + LTEXT "Kennwort", -1, 40, 86, 50, 10 + LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 + LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD + CHECKBOX "Dieses Kennwort speichern (unsicher)", IDC_SAVEPASSWORD, + 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "Abbrechen", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP +} _____ Copied: trunk/reactos/lib/mpr/mpr_Fr.rc (from rev 13515, vendor/wine/dlls/mpr/current/mpr_Fr.rc) --- vendor/wine/dlls/mpr/current/mpr_Fr.rc 2005-02-12 21:07:16 UTC (rev 13515) +++ trunk/reactos/lib/mpr/mpr_Fr.rc 2005-02-12 21:26:15 UTC (rev 13516) @@ -0,0 +1,47 @@ +/* + * MPR dll resources + * French language support + * + * Copyright (C) 2005 Jonathan Ernst + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +STRINGTABLE DISCARDABLE +{ + IDS_ENTIRENETWORK "Le rÚseau entier" +} + +IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Entrez le mot de passe rÚseau" +FONT 8, "Helv" +{ + LTEXT "Veuillez saisir votre nom d'utilisateur et votre mot de passe:", IDC_EXPLAIN, 40, 6, 150, 15 + LTEXT "Proxy", -1, 40, 26, 50, 10 +/* LTEXT "Realm", -1, 40, 46, 50, 10 */ + LTEXT "Utilisateur", -1, 40, 66, 50, 10 + LTEXT "Mot de passe", -1, 40, 86, 50, 10 + LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 + LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD + CHECKBOX "&Enregistrer ce mot de passe (risquÚ)", IDC_SAVEPASSWORD, + 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "Annuler", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP +} Property changes on: trunk/reactos/lib/mpr/mpr_Fr.rc ___________________________________________________________________ Name: svn:eol-style + native _____ Copied: trunk/reactos/lib/mpr/netspi.h (from rev 13515, vendor/wine/dlls/mpr/current/netspi.h) Property changes on: trunk/reactos/lib/mpr/netspi.h ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/lib/mpr/nps.c --- trunk/reactos/lib/mpr/nps.c 2005-02-12 21:07:16 UTC (rev 13515) +++ trunk/reactos/lib/mpr/nps.c 2005-02-12 21:26:15 UTC (rev 13516) @@ -26,7 +26,6 @@ #include "windef.h" #include "winbase.h" #include "winuser.h" -#include "winnetwk.h" #include "netspi.h" #include "wine/debug.h" #include "winerror.h" @@ -212,4 +211,3 @@ FIXME( "(%p): stub\n", pfNotifyCallBack ); return NULL; } -
20 years, 3 months
1
0
0
0
[gvg] 13515: Sync to Wine-20050211
by gvg@svn.reactos.com
Sync to Wine-20050211 Carlos Lozano <clozano(a)andago.com> - Fix regression in Fallout game. Remi Assailly <remi.assailly(a)free.fr> - char -> const char fixes. Robert Reif <reif(a)earthlink.net> - Copy data structures one at a time using supplied size. Modified: trunk/reactos/lib/dinput/device.c Modified: trunk/reactos/lib/dinput/dinput_main.c Modified: trunk/reactos/lib/dinput/joystick_linux.c Modified: trunk/reactos/lib/dinput/mouse.c _____ Modified: trunk/reactos/lib/dinput/device.c --- trunk/reactos/lib/dinput/device.c 2005-02-12 21:03:08 UTC (rev 13514) +++ trunk/reactos/lib/dinput/device.c 2005-02-12 21:07:16 UTC (rev 13515) @@ -316,7 +316,7 @@ * instance id. */ ((asked_format->rgodf[j].dwType & 0x00FFFF00) == DIDFT_ANYINSTANCE) || - (DIDFT_GETINSTANCE(wine_format->rgodf[i].dwType) == DIDFT_GETINSTANCE(asked_format->rgodf[j].dwType)))) { + (wine_format->rgodf[i].dwType & asked_format->rgodf[j].dwType))) { done[j] = 1; _____ Modified: trunk/reactos/lib/dinput/dinput_main.c --- trunk/reactos/lib/dinput/dinput_main.c 2005-02-12 21:03:08 UTC (rev 13514) +++ trunk/reactos/lib/dinput/dinput_main.c 2005-02-12 21:07:16 UTC (rev 13515) @@ -198,7 +198,7 @@ return 0; } -static char *_dump_DIDEVTYPE_value(DWORD dwDevType) { +static const char *_dump_DIDEVTYPE_value(DWORD dwDevType) { switch (dwDevType) { case 0: return "All devices"; case DIDEVTYPE_MOUSE: return "DIDEVTYPE_MOUSE"; _____ Modified: trunk/reactos/lib/dinput/joystick_linux.c --- trunk/reactos/lib/dinput/joystick_linux.c 2005-02-12 21:03:08 UTC (rev 13514) +++ trunk/reactos/lib/dinput/joystick_linux.c 2005-02-12 21:07:16 UTC (rev 13515) @@ -304,7 +304,7 @@ int tokens = 0; int axis = 0; int pov = 0; - char *delim = ","; + const char *delim = ","; char * ptr; TRACE("\"%s\" = \"%s\"\n", device->name, buffer); @@ -1062,18 +1062,14 @@ *entries = 0; nqtail = This->queue_tail; while (len) { - DWORD span = ((This->queue_head < nqtail) ? This->queue_len : This->queue_head) - nqtail; - if (span > len) - span = len; - /* Copy the buffered data into the application queue */ - memcpy(dod + *entries, This->data_queue + nqtail, span * dodsize); + memcpy((char *)dod + *entries * dodsize, This->data_queue + nqtail, dodsize); /* Advance position */ - nqtail += span; + nqtail++; if (nqtail >= This->queue_len) nqtail -= This->queue_len; - *entries += span; - len -= span; + (*entries)++; + len--; } } _____ Modified: trunk/reactos/lib/dinput/mouse.c --- trunk/reactos/lib/dinput/mouse.c 2005-02-12 21:03:08 UTC (rev 13514) +++ trunk/reactos/lib/dinput/mouse.c 2005-02-12 21:07:16 UTC (rev 13515) @@ -951,18 +951,15 @@ *entries = 0; nqtail = This->queue_tail; while (len) { - DWORD span = ((This->queue_head < nqtail) ? This->queue_len : This->queue_head) - nqtail; - if (span > len) - span = len; - /* Copy the buffered data into the application queue */ - memcpy(dod + *entries, This->data_queue + nqtail, span * dodsize); + memcpy((char *)dod + *entries * dodsize, This->data_queue + nqtail, dodsize); /* Advance position */ - nqtail += span; - if (nqtail >= This->queue_len) nqtail -= This->queue_len; - *entries += span; - len -= span; + nqtail++; + if (nqtail >= This->queue_len) + nqtail -= This->queue_len; + (*entries)++; + len--; } } if (!(flags & DIGDD_PEEK))
20 years, 3 months
1
0
0
0
[gvg] 13514: Henning Gerhardt <henning.gerhardt@web.de>
by gvg@svn.reactos.com
Henning Gerhardt <henning.gerhardt(a)web.de> - Update German resources. Robert Shearman <rob(a)codeweavers.com> - Draw a representation of a document in the page setup dialog. - Change some FIXME's to TRACE's because everything we need is implemented and they fire for ones that we don't need to implement. Remi Assailly <remi.assailly(a)free.fr> - char -> const char fixes. Jose Manuel Ferrer Ortiz <jmfo1982(a)yahoo.es> - Updated Spanish resources. Dmitry Timoshkov <dmitry(a)codeweavers.com> - Correct coordinates of a couple of controls. - Do not forget to allocate internal OPENFILENAMEW structure for 16-bit GetOpenFileName, initialize it by zeros for 16/A cases. - Make GetOpenFileNameW with an old style open file dialog work with the original OPENFILENAMEW structure, making sure that all changes are passed back to the caller. Ulrich Czekalla <ulrich(a)codeweavers.com> - GetFileName31W should call unicode version of FD31_AllocPrivate. Jonathan Ernst <Jonathan(a)ErnstFamily.ch> - Updated French resources. Modified: trunk/reactos/lib/comdlg32/cdlg.h Modified: trunk/reactos/lib/comdlg32/cdlg32.c Modified: trunk/reactos/lib/comdlg32/cdlg_De.rc Modified: trunk/reactos/lib/comdlg32/cdlg_En.rc Modified: trunk/reactos/lib/comdlg32/cdlg_Es.rc Modified: trunk/reactos/lib/comdlg32/cdlg_Fr.rc Modified: trunk/reactos/lib/comdlg32/cdlg_Ru.rc Modified: trunk/reactos/lib/comdlg32/filedlg.c Modified: trunk/reactos/lib/comdlg32/filedlg16.c Modified: trunk/reactos/lib/comdlg32/filedlg31.c Modified: trunk/reactos/lib/comdlg32/filedlg31.h Modified: trunk/reactos/lib/comdlg32/printdlg.c _____ Modified: trunk/reactos/lib/comdlg32/cdlg.h --- trunk/reactos/lib/comdlg32/cdlg.h 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg.h 2005-02-12 21:03:08 UTC (rev 13514) @@ -152,6 +152,8 @@ #define IDS_SAVE_AS 1204 #define IDS_OPEN_FILE 1205 +#define IDS_FAKEDOCTEXT 1300 + #include "windef.h" #include "winbase.h" #include "wingdi.h" _____ Modified: trunk/reactos/lib/comdlg32/cdlg32.c --- trunk/reactos/lib/comdlg32/cdlg32.c 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg32.c 2005-02-12 21:03:08 UTC (rev 13514) @@ -63,7 +63,7 @@ * FALSE if sibling could not be loaded or instantiated twice, TRUE * otherwise. */ -static char * GPA_string = "Failed to get entry point %s for hinst = 0x%08x\n"; +static const char * GPA_string = "Failed to get entry point %s for hinst = 0x%08x\n"; #define GPA(dest, hinst, name) \ if(!(dest = (void*)GetProcAddress(hinst,name)))\ { \ _____ Modified: trunk/reactos/lib/comdlg32/cdlg_De.rc --- trunk/reactos/lib/comdlg32/cdlg_De.rc 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg_De.rc 2005-02-12 21:03:08 UTC (rev 13514) @@ -148,7 +148,7 @@ CHOOSE_FONT DIALOG DISCARDABLE 13, 54, 264, 147 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Font" +CAPTION "Schriftart" FONT 8, "MS Shell Dlg" { LTEXT "Schrift&art:",1088 ,6,3,40,9 @@ -315,7 +315,7 @@ PRINT32_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 288, 178 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP | DS_3DLOOK -CAPTION "Print Setup" +CAPTION "Druckereinrichtung" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK",IDOK,180,156,48,14,WS_GROUP @@ -441,15 +441,25 @@ IDS_COLOR_GREEN "Gr³n" IDS_COLOR_OLIVE "Olivgr³n" IDS_COLOR_NAVY "Dunkelblau" - IDS_COLOR_PURPLE "Violett" - IDS_COLOR_TEAL "Teal" + IDS_COLOR_PURPLE "Lila" + IDS_COLOR_TEAL "Blaugr³n" IDS_COLOR_GRAY "Grau" IDS_COLOR_SILVER "Silber" IDS_COLOR_RED "Rot" IDS_COLOR_LIME "Hellgr³n" IDS_COLOR_YELLOW "Gelb" IDS_COLOR_BLUE "Blau" - IDS_COLOR_FUCHSIA "Lila" - IDS_COLOR_AQUA "Aqua" + IDS_COLOR_FUCHSIA "Pink" + IDS_COLOR_AQUA "Aquamarin" IDS_COLOR_WHITE "Wei?" } + +STRINGTABLE DISCARDABLE +{ + IDS_FONT_SIZE "Wõhlen Sie eine Schriftgr÷?e zwischen %d und %d Punkten aus." + IDS_SAVE_BUTTON "&Speichern" + IDS_SAVE_IN "Speichern &unter:" + IDS_SAVE "Speichern" + IDS_SAVE_AS "Speichern als" + IDS_OPEN_FILE "Íffne Datei" +} _____ Modified: trunk/reactos/lib/comdlg32/cdlg_En.rc --- trunk/reactos/lib/comdlg32/cdlg_En.rc 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg_En.rc 2005-02-12 21:03:08 UTC (rev 13514) @@ -470,6 +470,34 @@ IDS_OPEN_FILE "Open File" } +/* Translators do not need to translate this text, unless the language uses a + * different character set or if the distribution of characters looks wrong. + * It is rendered illegibly small and is used to make a mock-up of a document. + */ +STRINGTABLE DISCARDABLE +{ + IDS_FAKEDOCTEXT + "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \ + Nulla a tortor. Etiam aliquet libero venenatis nunc. \n \ + \n \ + Sed augue ante, fermentum sit amet, imperdiet et, gravida eu, enim. \ + Donec nibh quam, sodales in, commodo vel, facilisis id, neque. \n \ + \n \ + Nunc eleifend bibendum nibh. Phasellus in lorem. Ut vel odio quis \ + libero adipiscing consequat. Donec consectetuer laoreet mauris. \n \ + \n \ + Maecenas tempor, ligula sed congue nonummy, arcu dolor ornare erat, \ + egestas iaculis magna purus sed turpis. \n \ + \n \ + Morbi ultricies est non ipsum. Cum sociis natoque penatibus et magnis \ + dis parturient montes, nascetur ridiculus mus. \n \ + \n \ + Duis sit amet nibh quis purus sollicitudin blandit. Curabitur justo. \ + Phasellus varius, erat eu luctus pharetra, odio elit fringilla leo, \ + non vulputate turpis elit id neque. Vestibulum sit amet tellus sed \ + tortor fermentum consectetuer." +} + /****************************************************************/ /* English neutral resources /****************************************************************/ _____ Modified: trunk/reactos/lib/comdlg32/cdlg_Es.rc --- trunk/reactos/lib/comdlg32/cdlg_Es.rc 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg_Es.rc 2005-02-12 21:03:08 UTC (rev 13514) @@ -47,7 +47,7 @@ SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "&Guardar como..." +CAPTION "Guardar como..." FONT 8, "MS Shell Dlg" { LTEXT "Nombre de &archivo:", 1090, 6, 6, 76, 9 @@ -85,7 +85,7 @@ LTEXT "&Hasta:", 1091, 120, 80, 30, 9 LTEXT "Calidad de impre&si¾n:", 1092, 6, 100, 76, 9 COMBOBOX cmb1, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - CHECKBOX "Impri&mir en un archivo", chx1, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Impri&mir en archivo", chx1, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "Condensado", chx2, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -96,7 +96,7 @@ FONT 8, "MS Shell Dlg" { GROUPBOX "Impresora:", grp1, 6, 10, 180, 65, BS_GROUPBOX - RADIOBUTTON "Pre&determinada del sistema", rad1, 16, 20, 80, 12 + RADIOBUTTON "Impresora por &defecto", rad1, 16, 20, 80, 12 LTEXT "[ninguna]", 1088, 35, 35, 120, 9 RADIOBUTTON "Impresora &especÝfica:", rad2, 16, 50, 80, 12 COMBOBOX cmb1, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP @@ -187,7 +187,7 @@ CAPTION "Buscar" FONT 8, "MS Shell Dlg" { - LTEXT "Buscar:", -1, 4, 8, 42, 8 + LTEXT "Buscar:", -1, 4, 8, 42, 8 EDITTEXT edt1, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP CHECKBOX "&S¾lo palabra entera", chx1, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "&May·sculas/min·sculas", chx2, 4, 42, 64, 12, BS_AUTOCHECKBOX | WS_TABSTOP @@ -202,7 +202,7 @@ REPLACEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 230, 94 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "R&eemplazar" +CAPTION "Reemplazar" FONT 8, "MS Shell Dlg" { LTEXT "Buscar:", -1, 4, 9, 48, 8 @@ -230,7 +230,7 @@ PUSHBUTTON "&Ayuda", pshHelp, 50, 161, 48,14, WS_GROUP GROUPBOX "Impresora", grp4, 8, 4, 272,84, WS_GROUP - CONTROL "Imprimir a a&rchivo", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12 + CONTROL "Imprimir en a&rchivo", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12 PUSHBUTTON "&Propiedades", psh2, 212, 17, 60,14, WS_GROUP LTEXT "&Nombre:", stc6, 16, 20, 36,8 COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP @@ -296,7 +296,7 @@ PAGESETUPDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 240, 240 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Pßgina de configuraci¾n" +CAPTION "Configuraci¾n de pßgina" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", rct1, "Static", SS_WHITERECT, 80, 8, 80, 80 @@ -392,8 +392,8 @@ pßgina.\n\ Por favor, introduzca un valor entre %d y %d." PD32_FROM_NOT_ABOVE_TO "La entrada 'desde' no puede exceder \ a la entrada 'hasta'." - PD32_MARGINS_OVERLAP "Los mßrgenes overlap o fall outside \ -los boundaries del papel.\nPor favor, reintroduzca los mßrgenes." + PD32_MARGINS_OVERLAP "Los mßrgenes se superponen o quedan \ +fuera de los lÝmites del papel.\nPor favor, reintroduzca los mßrgenes." PD32_NR_OF_COPIES_EMPTY "El n·mero del valor 'N·mero de \ copias' no puede estar vacÝo." PD32_TOO_LARGE_COPIES "Este n·mero tan grande de copias no \ @@ -421,11 +421,11 @@ PD32_PRINTER_STATUS_PAPER_OUT "Sin papel; " PD32_PRINTER_STATUS_MANUAL_FEED "Ponga papel a mano; " PD32_PRINTER_STATUS_PAPER_PROBLEM "Problema con el papel; " - PD32_PRINTER_STATUS_OFFLINE "Impresora apagada; " + PD32_PRINTER_STATUS_OFFLINE "Impresora desconectada; " PD32_PRINTER_STATUS_IO_ACTIVE "E/S activa; " PD32_PRINTER_STATUS_BUSY "Ocupada; " PD32_PRINTER_STATUS_PRINTING "Imprimiendo; " - PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "La bandeja de salida estß llena; " + PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Bandeja de salida llena; " PD32_PRINTER_STATUS_NOT_AVAILABLE "No disponible; " PD32_PRINTER_STATUS_WAITING "Esperando; " PD32_PRINTER_STATUS_PROCESSING "Procesando; " @@ -434,10 +434,9 @@ PD32_PRINTER_STATUS_TONER_LOW "T¾ner bajo; " PD32_PRINTER_STATUS_NO_TONER "Sin t¾ner; " PD32_PRINTER_STATUS_PAGE_PUNT "Page punt; " - PD32_PRINTER_STATUS_USER_INTERVENTION "Interrumpido por el usuario; " + PD32_PRINTER_STATUS_USER_INTERVENTION "Interrumpida por el usuario; " PD32_PRINTER_STATUS_OUT_OF_MEMORY "Sin memoria; " - PD32_PRINTER_STATUS_DOOR_OPEN "La puerta de la impresora estß \ -abierta; " + PD32_PRINTER_STATUS_DOOR_OPEN "Puerta de la impresora abierta; " PD32_PRINTER_STATUS_SERVER_UNKNOWN "Servidor de impresi¾n desconocido; " PD32_PRINTER_STATUS_POWER_SAVE "Modo de ahorro de energÝa; " } @@ -445,9 +444,9 @@ STRINGTABLE DISCARDABLE /* Color names */ { IDS_COLOR_BLACK "Negro" - IDS_COLOR_MAROON "Marr¾n" + IDS_COLOR_MAROON "Granate" IDS_COLOR_GREEN "Verde" - IDS_COLOR_OLIVE "Oliva" + IDS_COLOR_OLIVE "Verde oliva" IDS_COLOR_NAVY "Azul marino" IDS_COLOR_PURPLE "Morado" IDS_COLOR_TEAL "Turquesa" @@ -464,5 +463,10 @@ STRINGTABLE DISCARDABLE { - IDS_FONT_SIZE "Elija un tama±o de fuente entre %d and %d puntos." + IDS_FONT_SIZE "Elija un tama±o de fuente entre %d y %d puntos." + IDS_SAVE_BUTTON "&Guardar" + IDS_SAVE_IN "Guardar &en:" + IDS_SAVE "Guardar" + IDS_SAVE_AS "Guardar como" + IDS_OPEN_FILE "Abrir archivo" } _____ Modified: trunk/reactos/lib/comdlg32/cdlg_Fr.rc --- trunk/reactos/lib/comdlg32/cdlg_Fr.rc 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg_Fr.rc 2005-02-12 21:03:08 UTC (rev 13514) @@ -3,6 +3,7 @@ * French language support * * Copyright 1995 Alexandre Julliard + * Copyright 2005 Jonathan Ernst * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -462,3 +463,13 @@ IDS_COLOR_AQUA "Aqua" IDS_COLOR_WHITE "Blanc" } + +STRINGTABLE DISCARDABLE +{ + IDS_FONT_SIZE "SÚlectionnez une taille de police entre %d et %d points." + IDS_SAVE_BUTTON "&Sauver" + IDS_SAVE_IN "Sauver &dans:" + IDS_SAVE "Enregistrer" + IDS_SAVE_AS "Enregistrer sous" + IDS_OPEN_FILE "Ouvrir Fichier" +} _____ Modified: trunk/reactos/lib/comdlg32/cdlg_Ru.rc --- trunk/reactos/lib/comdlg32/cdlg_Ru.rc 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/cdlg_Ru.rc 2005-02-12 21:03:08 UTC (rev 13514) @@ -235,9 +235,9 @@ LTEXT "&?ý :", stc6, 16, 20, 36,8 COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP LTEXT "Ð?Ó?¾±:", stc8, 16, 36, 36,10, SS_NOPREFIX - LTEXT "¦ý¾ÙÞ¯ÔÓÝ", stc12, 60, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "¦ý¾ÙÞ¯ÔÓÝ", stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP LTEXT "ÊÞ´:", stc7, 16, 48, 36,10, SS_NOPREFIX - LTEXT "¦ý¾ÙÞ¯ÔÓÝ", stc11, 60, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "¦ý¾ÙÞ¯ÔÓÝ", stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP LTEXT "?Õ±?¯:", stc10, 16, 60, 36,10, SS_NOPREFIX LTEXT "¦ý¾ÙÞ¯ÔÓݯ", stc14, 60, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP LTEXT "¤ÞýÕ¸ÓÝÞÕ:", stc9, 16, 72, 36,10, SS_NOPREFIX _____ Modified: trunk/reactos/lib/comdlg32/filedlg.c --- trunk/reactos/lib/comdlg32/filedlg.c 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/filedlg.c 2005-02-12 21:03:08 UTC (rev 13514) @@ -3377,7 +3377,7 @@ */ static BOOL FD32_GetTemplate(PFD31_DATA lfs) { - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; HANDLE hDlgTmpl; @@ -3445,9 +3445,9 @@ if (NULL == lfs->private1632) return FALSE; if (IsUnicode) { - lfs->ofnW = *((LPOPENFILENAMEW) lParam); - if (lfs->ofnW.Flags & OFN_ENABLEHOOK) - if (lfs->ofnW.lpfnHook) + lfs->ofnW = (LPOPENFILENAMEW) lParam; + if (lfs->ofnW->Flags & OFN_ENABLEHOOK) + if (lfs->ofnW->lpfnHook) lfs->hook = TRUE; } else @@ -3456,7 +3456,8 @@ if (priv->ofnA->Flags & OFN_ENABLEHOOK) if (priv->ofnA->lpfnHook) lfs->hook = TRUE; - FD31_MapOfnStructA(priv->ofnA, &lfs->ofnW, lfs->open); + lfs->ofnW = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*lfs->ofnW)); + FD31_MapOfnStructA(priv->ofnA, lfs->ofnW, lfs->open); } if (! FD32_GetTemplate(lfs)) return FALSE; @@ -3472,18 +3473,25 @@ BOOL CALLBACK FD32_CallWindowProc(PFD31_DATA lfs, UINT wMsg, WPARAM wParam, LPARAM lParam) { + BOOL ret; PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; if (priv->ofnA) { - return (BOOL) CallWindowProcA( - (WNDPROC)priv->ofnA->lpfnHook, lfs->hwnd, - wMsg, wParam, lParam); + TRACE("Call hookA %p (%p, %04x, %08x, %08lx)\n", + priv->ofnA->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + ret = priv->ofnA->lpfnHook(lfs->hwnd, wMsg, wParam, lParam); + TRACE("ret hookA %p (%p, %04x, %08x, %08lx)\n", + priv->ofnA->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + return ret; } - return (BOOL) CallWindowProcW( - (WNDPROC)lfs->ofnW.lpfnHook, lfs->hwnd, - wMsg, wParam, lParam); + TRACE("Call hookW %p (%p, %04x, %08x, %08lx)\n", + lfs->ofnW->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + ret = lfs->ofnW->lpfnHook(lfs->hwnd, wMsg, wParam, lParam); + TRACE("Ret hookW %p (%p, %04x, %08x, %08lx)\n", + lfs->ofnW->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + return ret; } /*********************************************************************** @@ -3493,7 +3501,7 @@ static void CALLBACK FD32_UpdateResult(PFD31_DATA lfs) { PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofnA) { @@ -3513,7 +3521,7 @@ static void CALLBACK FD32_UpdateFileTitle(PFD31_DATA lfs) { PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofnA) { @@ -3544,7 +3552,10 @@ /* if ofnW has been allocated, have to free everything in it */ if (NULL != priv && NULL != priv->ofnA) - FD31_FreeOfnW(&lfs->ofnW); + { + FD31_FreeOfnW(lfs->ofnW); + HeapFree(GetProcessHeap(), 0, lfs->ofnW); + } } static void FD32_SetupCallbacks(PFD31_CALLBACKS callbacks) @@ -3667,7 +3678,7 @@ if (!lpofn || !FD31_Init()) return FALSE; FD32_SetupCallbacks(&callbacks); - lfs = FD31_AllocPrivate((LPARAM) lpofn, dlgType, &callbacks, (DWORD) FALSE); + lfs = FD31_AllocPrivate((LPARAM) lpofn, dlgType, &callbacks, (DWORD) TRUE); if (lfs) { hInst = (HINSTANCE)GetWindowLongPtrW( lpofn->hwndOwner, GWLP_HINSTANCE ); @@ -3676,7 +3687,8 @@ FD31_DestroyPrivate(lfs); } - TRACE("return lpstrFile=%s !\n", debugstr_w(lpofn->lpstrFile)); + TRACE("file %s, file offset %d, ext offset %d\n", + debugstr_w(lpofn->lpstrFile), lpofn->nFileOffset, lpofn->nFileExtension); return bRet; } @@ -3697,6 +3709,10 @@ { BOOL win16look = FALSE; + /* OFN_FILEMUSTEXIST implies OFN_PATHMUSTEXIST */ + if (ofn->Flags & OFN_FILEMUSTEXIST) + ofn->Flags |= OFN_PATHMUSTEXIST; + if (ofn->Flags & (OFN_ALLOWMULTISELECT|OFN_ENABLEHOOK|OFN_ENABLETEMPLATE)) win16look = (ofn->Flags & OFN_EXPLORER) ? FALSE : TRUE; _____ Modified: trunk/reactos/lib/comdlg32/filedlg16.c --- trunk/reactos/lib/comdlg32/filedlg16.c 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/filedlg16.c 2005-02-12 21:03:08 UTC (rev 13514) @@ -170,7 +170,8 @@ if (priv->ofn16->lpfnHook) lfs->hook = TRUE; - FD16_MapOfnStruct16(priv->ofn16, &lfs->ofnW, lfs->open); + lfs->ofnW = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*lfs->ofnW)); + FD16_MapOfnStruct16(priv->ofn16, lfs->ofnW, lfs->open); if (! FD16_GetTemplate(lfs)) return FALSE; @@ -204,7 +205,7 @@ static void CALLBACK FD16_UpdateResult(PFD31_DATA lfs) { PFD16_PRIVATE priv = (PFD16_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofn16) { /* we have to convert to short (8.3) path */ @@ -240,7 +241,7 @@ static void CALLBACK FD16_UpdateFileTitle(PFD31_DATA lfs) { PFD16_PRIVATE priv = (PFD16_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofn16) { @@ -279,7 +280,8 @@ GlobalUnlock16(priv->hGlobal16); GlobalFree16(priv->hGlobal16); } - FD31_FreeOfnW(&lfs->ofnW); + FD31_FreeOfnW(lfs->ofnW); + HeapFree(GetProcessHeap(), 0, lfs->ofnW); } } _____ Modified: trunk/reactos/lib/comdlg32/filedlg31.c --- trunk/reactos/lib/comdlg32/filedlg31.c 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/filedlg31.c 2005-02-12 21:03:08 UTC (rev 13514) @@ -38,6 +38,7 @@ #include "cderr.h" #include "winreg.h" #include "winternl.h" +#include "shlwapi.h" WINE_DEFAULT_DEBUG_CHANNEL(commdlg); @@ -305,9 +306,9 @@ void FD31_UpdateResult(PFD31_DATA lfs, WCHAR *tmpstr) { int lenstr2; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; WCHAR tmpstr2[BUFFILE]; - WCHAR *bs; + WCHAR *p; TRACE("%s\n", debugstr_w(tmpstr)); if(ofnW->Flags & OFN_NOVALIDATE) @@ -320,17 +321,18 @@ lstrcpynW(tmpstr2+lenstr2, tmpstr, BUFFILE-lenstr2); if (ofnW->lpstrFile) lstrcpynW(ofnW->lpstrFile, tmpstr2, ofnW->nMaxFile); - if((bs = strrchrW(tmpstr2, '\\')) != NULL) - ofnW->nFileOffset = bs - tmpstr2 +1; - else - ofnW->nFileOffset = 0; - ofnW->nFileExtension = 0; - while(tmpstr2[ofnW->nFileExtension] != '.' && tmpstr2[ofnW->nFileExtension] != '\0') - ofnW->nFileExtension++; - if (tmpstr2[ofnW->nFileExtension] == '\0') - ofnW->nFileExtension = 0; - else - ofnW->nFileExtension++; + + /* set filename offset */ + p = PathFindFileNameW(ofnW->lpstrFile); + ofnW->nFileOffset = (p - ofnW->lpstrFile); + + /* set extension offset */ + p = PathFindExtensionW(ofnW->lpstrFile); + ofnW->nFileExtension = (*p) ? (p - ofnW->lpstrFile) + 1 : 0; + + TRACE("file %s, file offset %d, ext offset %d\n", + debugstr_w(ofnW->lpstrFile), ofnW->nFileOffset, ofnW->nFileExtension); + /* update the real client structures if any */ lfs->callbacks->UpdateResult(lfs); } @@ -342,7 +344,7 @@ void FD31_UpdateFileTitle(PFD31_DATA lfs) { LONG lRet; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (ofnW->lpstrFileTitle != NULL) { lRet = SendDlgItemMessageW(lfs->hwnd, lst1, LB_GETCURSEL, 0, 0); @@ -447,14 +449,14 @@ else { strcpyW(tmpstr2, path); - if(!(lfs->ofnW.Flags & OFN_NOVALIDATE)) + if(!(lfs->ofnW->Flags & OFN_NOVALIDATE)) *path = 0; } TRACE("path=%s, tmpstr2=%s\n", debugstr_w(path), debugstr_w(tmpstr2)); SetDlgItemTextW( hWnd, edt1, tmpstr2 ); FD31_ScanDir(hWnd, path); - return (lfs->ofnW.Flags & OFN_NOVALIDATE) ? TRUE : FALSE; + return (lfs->ofnW->Flags & OFN_NOVALIDATE) ? TRUE : FALSE; } /* no wildcards, we might have a directory or a filename */ @@ -501,7 +503,7 @@ LONG lRet; HWND hWnd = lfs->hwnd; OPENFILENAMEW ofnsav; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; WCHAR filename[BUFFILE]; ofnsav = *ofnW; /* for later restoring */ @@ -610,9 +612,7 @@ FD31_StripEditControl(hWnd); if (notification == LBN_DBLCLK) { - if (FD31_Validate( lfs, NULL, control, 0, FALSE )) - EndDialog(hWnd, TRUE); - return TRUE; + return SendMessageW(hWnd, WM_COMMAND, IDOK, 0); } else if (notification == LBN_SELCHANGE) return FD31_FileListSelect( lfs ); @@ -700,7 +700,7 @@ * FD31_MapOfnStructA [internal] * map a 32 bits Ansi structure to an Unicode one */ -void FD31_MapOfnStructA(LPOPENFILENAMEA ofnA, LPOPENFILENAMEW ofnW, BOOL open) +void FD31_MapOfnStructA(const LPOPENFILENAMEA ofnA, LPOPENFILENAMEW ofnW, BOOL open) { UNICODE_STRING usBuffer; @@ -828,7 +828,7 @@ if (!lfs) return FALSE; SetPropA(hWnd, FD31_OFN_PROP, (HANDLE)lfs); lfs->hwnd = hWnd; - ofn = &lfs->ofnW; + ofn = lfs->ofnW; TRACE("flags=%lx initialdir=%s\n", ofn->Flags, debugstr_w(ofn->lpstrInitialDir)); _____ Modified: trunk/reactos/lib/comdlg32/filedlg31.h --- trunk/reactos/lib/comdlg32/filedlg31.h 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/filedlg31.h 2005-02-12 21:03:08 UTC (rev 13514) @@ -44,7 +44,8 @@ LPARAM lParam; /* save original lparam */ LPCVOID template; /* template for 32 bits resource */ BOOL open; /* TRUE if open dialog, FALSE if save dialog */ - OPENFILENAMEW ofnW; /* copy of original structure or work struct */ + LPOPENFILENAMEW ofnW; /* pointer either to the original structure or + a W copy for A/16 API */ LPVOID private1632; /* 16/32 bit caller private data */ PFD31_CALLBACKS callbacks; /* callbacks to handle 16/32 bit differences */ } FD31_DATA; _____ Modified: trunk/reactos/lib/comdlg32/printdlg.c --- trunk/reactos/lib/comdlg32/printdlg.c 2005-02-12 20:51:20 UTC (rev 13513) +++ trunk/reactos/lib/comdlg32/printdlg.c 2005-02-12 21:03:08 UTC (rev 13514) @@ -71,6 +71,11 @@ {-1, NULL} }; +/* address of wndproc for subclassed Static control */ +static WNDPROC lpfnStaticWndProc; +/* the text of the fake document to render for the Page Setup dialog */ +static WCHAR wszFakeDocumentText[1024]; + /*********************************************************************** * PRINTDLG_OpenDefaultPrinter * @@ -2551,6 +2556,8 @@ PRINTDLG_PS_WMCommandA( HWND hDlg, WPARAM wParam, LPARAM lParam, PageSetupDataA *pda ) { + TRACE("loword (lparam) %d, wparam 0x%x, lparam %08lx\n", + LOWORD(lParam),wParam,lParam); switch (LOWORD(wParam)) { case IDOK: if (!PRINTDLG_PS_UpdateDlgStructA(hDlg, pda)) @@ -2570,9 +2577,6 @@ return TRUE; } } - FIXME("loword (lparam) %d, wparam 0x%x, lparam %08lx, STUB mostly.\n", - LOWORD(lParam),wParam,lParam - ); return FALSE; } @@ -2580,6 +2584,8 @@ PRINTDLG_PS_WMCommandW( HWND hDlg, WPARAM wParam, LPARAM lParam, PageSetupDataW *pda ) { + TRACE("loword (lparam) %d, wparam 0x%x, lparam %08lx\n", + LOWORD(lParam),wParam,lParam); switch (LOWORD(wParam)) { case IDOK: if (!PRINTDLG_PS_UpdateDlgStructW(hDlg, pda)) @@ -2599,13 +2605,114 @@ return TRUE; } } - FIXME("loword (lparam) %d, wparam 0x%x, lparam %08lx, STUB mostly.\n", - LOWORD(lParam),wParam,lParam - ); return FALSE; } +static LRESULT CALLBACK +PagePaintProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + if (uMsg == WM_PAINT) + { + PAINTSTRUCT ps; + RECT rcClient; + HPEN hpen, holdpen; + HDC hdc; + HFONT hfont, holdfont; + LOGFONTW lf; + HBRUSH hbrush, holdbrush; + INT oldbkmode; + + hdc = BeginPaint(hWnd, &ps); + + GetClientRect(hWnd, &rcClient); + + /* fill background */ + hbrush = GetSysColorBrush(COLOR_3DHIGHLIGHT); + FillRect(hdc, &rcClient, hbrush); + holdbrush = SelectObject(hdc, hbrush); + + hpen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DSHADOW)); + holdpen = SelectObject(hdc, hpen); + + /* paint left edge */ + MoveToEx(hdc, rcClient.left, rcClient.top, NULL); + LineTo(hdc, rcClient.left, rcClient.bottom-1); + + /* paint top edge */ + MoveToEx(hdc, rcClient.left, rcClient.top, NULL); + LineTo(hdc, rcClient.right, rcClient.top); + + hpen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DDKSHADOW)); + DeleteObject(SelectObject(hdc, hpen)); + + /* paint right edge */ + MoveToEx(hdc, rcClient.right-1, rcClient.top, NULL); + LineTo(hdc, rcClient.right-1, rcClient.bottom); + + /* paint bottom edge */ + MoveToEx(hdc, rcClient.left, rcClient.bottom-1, NULL); + LineTo(hdc, rcClient.right, rcClient.bottom-1); + + hpen = CreatePen(PS_DASH, 1, GetSysColor(COLOR_3DSHADOW)); + DeleteObject(SelectObject(hdc, hpen)); + + /* draw dashed rectangle showing margins */ + + /* FIXME: use real margin values */ + rcClient.left += 5; + rcClient.top += 5; + rcClient.right -= 5; + rcClient.bottom -= 5; + + /* if the space is too small then we make sure to not draw anything */ + rcClient.left = min(rcClient.left,rcClient.right); + rcClient.top = min(rcClient.top,rcClient.bottom); + + Rectangle(hdc, rcClient.left, rcClient.top, rcClient.right, rcClient.bottom); + + DeleteObject(SelectObject(hdc, holdpen)); + + /* draw the fake document */ + + /* give text a bit of a space from the frame */ + rcClient.left += 2; + rcClient.top += 2; + rcClient.right -= 2; + rcClient.bottom -= 2; + + /* if the space is too small then we make sure to not draw anything */ + rcClient.left = min(rcClient.left,rcClient.right); + rcClient.top = min(rcClient.top,rcClient.bottom); + + /* select a nice scalable font, because we want the text really small */ + SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0); + lf.lfHeight = 6; /* value chosen based on visual effect */ + hfont = CreateFontIndirectW(&lf); + holdfont = SelectObject(hdc, hfont); + + /* if text not loaded, then do so now */ + if (wszFakeDocumentText[0] == '\0') + LoadStringW(COMDLG32_hInstance, + IDS_FAKEDOCTEXT, + wszFakeDocumentText, + sizeof(wszFakeDocumentText)/sizeof(wszFakeDocumentText[0])); + + oldbkmode = SetBkMode(hdc, TRANSPARENT); + DrawTextW(hdc, wszFakeDocumentText, -1, &rcClient, DT_TOP|DT_LEFT|DT_NOPREFIX|DT_WORDBREAK); + SetBkMode(hdc, oldbkmode); + + DeleteObject(SelectObject(hdc, holdfont)); + + SelectObject(hdc, holdbrush); + + EndPaint(hWnd, &ps); + return 0; + } + else + return CallWindowProcW(lpfnStaticWndProc, hWnd, uMsg, wParam, lParam); +} + static INT_PTR CALLBACK PageDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { @@ -2613,6 +2720,10 @@ INT_PTR res = FALSE; if (uMsg==WM_INITDIALOG) { + lpfnStaticWndProc = (WNDPROC)SetWindowLongPtrW( + GetDlgItem(hDlg, rct1), + GWLP_WNDPROC, + (ULONG_PTR)PagePaintProc); res = TRUE; pda = (PageSetupDataA*)lParam; SetPropA(hDlg,"__WINE_PAGESETUPDLGDATA",pda);
20 years, 3 months
1
0
0
0
[gvg] 13513: Sync to Wine-20050211
by gvg@svn.reactos.com
Sync to Wine-20050211 Francois Gouget <fgouget(a)free.fr> - Assorted spelling fixes. Dimitrie O. Paun <dpaun(a)rogers.com> - Use the LVCFMT_{LEFT,RIGHT,CENTER} enumeration flags properly. Alexandre Julliard <julliard(a)winehq.org> - Store the "managed" flag as a window property instead of the Wine-specific WS_EX_MANAGED style bit. Paul Vriens <Paul.Vriens(a)xs4all.nl> - Remove needless check for horizontal or vertical pager. Paul Vriens <Paul.Vriens(a)xs4all.nl> - Remove the checking/setting of the defaults in TRACKBAR_Create. Modified: trunk/reactos/lib/comctl32/datetime.c Modified: trunk/reactos/lib/comctl32/listview.c Modified: trunk/reactos/lib/comctl32/pager.c Modified: trunk/reactos/lib/comctl32/status.c Modified: trunk/reactos/lib/comctl32/toolbar.c Modified: trunk/reactos/lib/comctl32/trackbar.c _____ Modified: trunk/reactos/lib/comctl32/datetime.c --- trunk/reactos/lib/comctl32/datetime.c 2005-02-12 20:37:04 UTC (rev 13512) +++ trunk/reactos/lib/comctl32/datetime.c 2005-02-12 20:51:20 UTC (rev 13513) @@ -1085,7 +1085,6 @@ uMsg, wParam, lParam); return DefWindowProcW (hwnd, uMsg, wParam, lParam); } - return 0; } _____ Modified: trunk/reactos/lib/comctl32/listview.c --- trunk/reactos/lib/comctl32/listview.c 2005-02-12 20:37:04 UTC (rev 13512) +++ trunk/reactos/lib/comctl32/listview.c 2005-02-12 20:51:20 UTC (rev 13513) @@ -254,7 +254,7 @@ BOOL bRedraw; /* Turns on/off repaints & invalidations */ BOOL bAutoarrange; /* Autoarrange flag when NOT in LVS_AUTOARRANGE */ BOOL bFocus; - BOOL bDoChangeNotify; /* send change notification messages? */ + BOOL bDoChangeNotify; /* send change notification messages? */ INT nFocusedItem; RECT rcFocus; DWORD dwStyle; /* the cached window GWL_STYLE */ @@ -4145,7 +4145,7 @@ for (i = infoPtr->nItemCount - 1; i >= 0; i--) { - /* send LVN_DELETEITEM notification, if not supressed */ + /* send LVN_DELETEITEM notification, if not suppressed */ if (!bSuppress) notify_deleteitem(infoPtr, i); if (!(infoPtr->dwStyle & LVS_OWNERDATA)) { @@ -6296,11 +6296,11 @@ lphdi->mask |= HDI_FORMAT; /* set text alignment (leftmost column must be left-aligned) */ - if (nColumn == 0 || lpColumn->fmt & LVCFMT_LEFT) + if (nColumn == 0 || (lpColumn->fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_LEFT) lphdi->fmt |= HDF_LEFT; - else if (lpColumn->fmt & LVCFMT_RIGHT) + else if ((lpColumn->fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_RIGHT) lphdi->fmt |= HDF_RIGHT; - else if (lpColumn->fmt & LVCFMT_CENTER) + else if ((lpColumn->fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_CENTER) lphdi->fmt |= HDF_CENTER; if (lpColumn->fmt & LVCFMT_BITMAP_ON_RIGHT) _____ Modified: trunk/reactos/lib/comctl32/pager.c --- trunk/reactos/lib/comctl32/pager.c 2005-02-12 20:37:04 UTC (rev 13512) +++ trunk/reactos/lib/comctl32/pager.c 2005-02-12 20:51:20 UTC (rev 13513) @@ -836,16 +836,6 @@ if (dwStyle & PGS_DRAGNDROP) FIXME("[%p] Drag and Drop style is not implemented yet.\n", hwnd); - /* - * If neither horizontal nor vertical style specified, default to vertical. - * This is probably not necessary, since the style may be set later on as - * the control is initialized, but just in case it isn't, set it here. - */ - if (!(dwStyle & PGS_HORZ) && !(dwStyle & PGS_VERT)) - { - dwStyle |= PGS_VERT; - SetWindowLongA(hwnd, GWL_STYLE, dwStyle); - } return 0; } _____ Modified: trunk/reactos/lib/comctl32/status.c --- trunk/reactos/lib/comctl32/status.c 2005-02-12 20:37:04 UTC (rev 13512) +++ trunk/reactos/lib/comctl32/status.c 2005-02-12 20:51:20 UTC (rev 13513) @@ -650,7 +650,7 @@ { STATUSWINDOWPART *part=NULL; BOOL changed = FALSE; - INT oldStyle; + INT oldStyle; if (style & SBT_OWNERDRAW) { TRACE("part %d, text %p\n",nPart,text); @@ -890,9 +890,9 @@ dwStyle = GetWindowLongW (hwnd, GWL_STYLE); /* statusbars on managed windows should not have SIZEGRIP style */ - if ((dwStyle & SBARS_SIZEGRIP) && lpCreate->hwndParent) - if (GetWindowLongW (lpCreate->hwndParent, GWL_EXSTYLE) & WS_EX_MANAGED) - SetWindowLongW (hwnd, GWL_STYLE, dwStyle & ~SBARS_SIZEGRIP); + if ((dwStyle & SBARS_SIZEGRIP) && lpCreate->hwndParent && + GetPropA( lpCreate->hwndParent, "__wine_x11_managed" )) + SetWindowLongW (hwnd, GWL_STYLE, dwStyle & ~SBARS_SIZEGRIP); if ((hdc = GetDC (hwnd))) { TEXTMETRICW tm; _____ Modified: trunk/reactos/lib/comctl32/toolbar.c --- trunk/reactos/lib/comctl32/toolbar.c 2005-02-12 20:37:04 UTC (rev 13512) +++ trunk/reactos/lib/comctl32/toolbar.c 2005-02-12 20:51:20 UTC (rev 13513) @@ -64,7 +64,7 @@ * enablebtn.exe, getbmp.exe, getbtn.exe, getflags.exe, hidebtn.exe, * indetbtn.exe, insbtn.exe, pressbtn.exe, setbtnsz.exe, setcmdid.exe, * setparnt.exe, setrows.exe, toolwnd.exe. - * - Microsofts controlspy examples. + * - Microsoft's controlspy examples. * - Charles Petzold's 'Programming Windows': gadgets.exe */ @@ -6080,7 +6080,7 @@ TRACKMOUSEEVENT trackinfo; INT nHit; TBUTTON_INFO *btnPtr; - + if (infoPtr->dwStyle & TBSTYLE_FLAT) { /* fill in the TRACKMOUSEEVENT struct */ trackinfo.cbSize = sizeof(TRACKMOUSEEVENT); _____ Modified: trunk/reactos/lib/comctl32/trackbar.c --- trunk/reactos/lib/comctl32/trackbar.c 2005-02-12 20:37:04 UTC (rev 13512) +++ trunk/reactos/lib/comctl32/trackbar.c 2005-02-12 20:51:20 UTC (rev 13513) @@ -1336,7 +1336,7 @@ TRACKBAR_Create (HWND hwnd, LPCREATESTRUCTW lpcs) { TRACKBAR_INFO *infoPtr; - DWORD oldStyle, newStyle; + DWORD dwStyle; infoPtr = (TRACKBAR_INFO *)Alloc (sizeof(TRACKBAR_INFO)); if (!infoPtr) return -1; @@ -1359,19 +1359,10 @@ TRACKBAR_InitializeThumb (infoPtr); - oldStyle = newStyle = GetWindowLongW (hwnd, GWL_STYLE); - if (oldStyle & TBS_VERT) { - if (! (oldStyle & (TBS_LEFT | TBS_RIGHT | TBS_BOTH)) ) - newStyle |= TBS_RIGHT; - } else { - if (! (oldStyle & (TBS_TOP | TBS_BOTTOM | TBS_BOTH)) ) - newStyle |= TBS_BOTTOM; - } - if (newStyle != oldStyle) - SetWindowLongW (hwnd, GWL_STYLE, newStyle); + dwStyle = GetWindowLongW (hwnd, GWL_STYLE); /* Create tooltip control */ - if (newStyle & TBS_TOOLTIPS) { + if (dwStyle & TBS_TOOLTIPS) { infoPtr->hwndToolTip = CreateWindowExW (0, TOOLTIPS_CLASSW, NULL, 0,
20 years, 3 months
1
0
0
0
[weiden] 13512: the callback management doesn't have to be serialized as it's only accessed by the thread itself
by weiden@svn.reactos.com
the callback management doesn't have to be serialized as it's only accessed by the thread itself Modified: trunk/reactos/include/napi/win32.h Modified: trunk/reactos/ntoskrnl/ps/process.c Modified: trunk/reactos/subsys/win32k/main/dllmain.c Modified: trunk/reactos/subsys/win32k/ntuser/callback.c _____ Modified: trunk/reactos/include/napi/win32.h --- trunk/reactos/include/napi/win32.h 2005-02-12 17:15:04 UTC (rev 13511) +++ trunk/reactos/include/napi/win32.h 2005-02-12 20:37:04 UTC (rev 13512) @@ -8,7 +8,6 @@ PVOID MessageQueue; FAST_MUTEX WindowListLock; LIST_ENTRY WindowListHead; - FAST_MUTEX W32CallbackListLock; LIST_ENTRY W32CallbackListHead; struct _KBDTABLES* KeyboardLayout; struct _DESKTOP_OBJECT* Desktop; _____ Modified: trunk/reactos/ntoskrnl/ps/process.c --- trunk/reactos/ntoskrnl/ps/process.c 2005-02-12 17:15:04 UTC (rev 13511) +++ trunk/reactos/ntoskrnl/ps/process.c 2005-02-12 20:37:04 UTC (rev 13512) @@ -51,7 +51,7 @@ ICI_SQ_SAME( sizeof(PROCESS_WS_WATCH_INFORMATION), sizeof(ULONG), ICIF_QUERY | ICIF_SET ), /* ProcessWorkingSetWatch */ ICI_SQ_SAME( 0 /* FIXME */, sizeof(ULONG), ICIF_SET ), /* ProcessUserModeIOPL */ ICI_SQ_SAME( sizeof(BOOLEAN), sizeof(ULONG), ICIF_SET ), /* ProcessEnableAlignmentFaultFixup */ - ICI_SQ_SAME( sizeof(PROCESS_PRIORITY_CLASS), sizeof(USHORT), ICIF_SET ), /* ProcessPriorityClass */ + ICI_SQ_SAME( sizeof(PROCESS_PRIORITY_CLASS), sizeof(USHORT), ICIF_QUERY | ICIF_SET ), /* ProcessPriorityClass */ ICI_SQ_SAME( sizeof(ULONG), sizeof(ULONG), ICIF_QUERY ), /* ProcessWx86Information */ ICI_SQ_SAME( sizeof(ULONG), sizeof(ULONG), ICIF_QUERY ), /* ProcessHandleCount */ ICI_SQ_SAME( sizeof(KAFFINITY), sizeof(ULONG), ICIF_SET ), /* ProcessAffinityMask */ @@ -1846,87 +1846,80 @@ case ProcessDebugPort: { - if(ProcessInformationLength != sizeof(HANDLE)) + HANDLE PortHandle = NULL; + + /* make a safe copy of the buffer on the stack */ + _SEH_TRY { - Status = STATUS_INFO_LENGTH_MISMATCH; + PortHandle = *(PHANDLE)ProcessInformation; + Status = (PortHandle != NULL ? STATUS_SUCCESS : STATUS_INVALID_PARAMETER); } - else + _SEH_HANDLE { - HANDLE PortHandle = NULL; + Status = _SEH_GetExceptionCode(); + } + _SEH_END; - /* make a safe copy of the buffer on the stack */ - _SEH_TRY - { - PortHandle = *(PHANDLE)ProcessInformation; - Status = (PortHandle != NULL ? STATUS_SUCCESS : STATUS_INVALID_PARAMETER); - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; + if(NT_SUCCESS(Status)) + { + PEPORT DebugPort; + /* in case we had success reading from the buffer, verify the provided + * LPC port handle + */ + Status = ObReferenceObjectByHandle(PortHandle, + 0, + LpcPortObjectType, + PreviousMode, + (PVOID)&DebugPort, + NULL); if(NT_SUCCESS(Status)) { - PEPORT DebugPort; + /* lock the process to be thread-safe! */ - /* in case we had success reading from the buffer, verify the provided - * LPC port handle - */ - Status = ObReferenceObjectByHandle(PortHandle, - 0, - LpcPortObjectType, - PreviousMode, - (PVOID)&DebugPort, - NULL); + Status = PsLockProcess(Process, FALSE); if(NT_SUCCESS(Status)) { - /* lock the process to be thread-safe! */ - - Status = PsLockProcess(Process, FALSE); - if(NT_SUCCESS(Status)) + /* + * according to "NT Native API" documentation, setting the debug + * port is only permitted once! + */ + if(Process->DebugPort == NULL) { - /* - * according to "NT Native API" documentation, setting the debug - * port is only permitted once! - */ - if(Process->DebugPort == NULL) + /* keep the reference to the handle! */ + Process->DebugPort = DebugPort; + + if(Process->Peb) { - /* keep the reference to the handle! */ - Process->DebugPort = DebugPort; - - if(Process->Peb) - { - /* we're now debugging the process, so set the flag in the PEB - structure. However, to access it we need to attach to the - process so we're sure we're in the right context! */ + /* we're now debugging the process, so set the flag in the PEB + structure. However, to access it we need to attach to the + process so we're sure we're in the right context! */ - KeAttachProcess(&Process->Pcb); - _SEH_TRY - { - Process->Peb->BeingDebugged = TRUE; - } - _SEH_HANDLE - { - DPRINT1("Trying to set the Peb->BeingDebugged field of process 0x%x failed, exception: 0x%x\n", Process, _SEH_GetExceptionCode()); - } - _SEH_END; - KeDetachProcess(); + KeAttachProcess(&Process->Pcb); + _SEH_TRY + { + Process->Peb->BeingDebugged = TRUE; } - Status = STATUS_SUCCESS; + _SEH_HANDLE + { + DPRINT1("Trying to set the Peb->BeingDebugged field of process 0x%x failed, exception: 0x%x\n", Process, _SEH_GetExceptionCode()); + } + _SEH_END; + KeDetachProcess(); } - else - { - ObDereferenceObject(DebugPort); - Status = STATUS_PORT_ALREADY_SET; - } - PsUnlockProcess(Process); + Status = STATUS_SUCCESS; } else { ObDereferenceObject(DebugPort); + Status = STATUS_PORT_ALREADY_SET; } + PsUnlockProcess(Process); } + else + { + ObDereferenceObject(DebugPort); + } } } break; @@ -1934,68 +1927,61 @@ case ProcessExceptionPort: { - if(ProcessInformationLength != sizeof(HANDLE)) + HANDLE PortHandle = NULL; + + /* make a safe copy of the buffer on the stack */ + _SEH_TRY { - Status = STATUS_INFO_LENGTH_MISMATCH; + PortHandle = *(PHANDLE)ProcessInformation; + Status = STATUS_SUCCESS; } - else + _SEH_HANDLE { - HANDLE PortHandle = NULL; - - /* make a safe copy of the buffer on the stack */ - _SEH_TRY - { - PortHandle = *(PHANDLE)ProcessInformation; - Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + if(NT_SUCCESS(Status)) + { + PEPORT ExceptionPort; + /* in case we had success reading from the buffer, verify the provided + * LPC port handle + */ + Status = ObReferenceObjectByHandle(PortHandle, + 0, + LpcPortObjectType, + PreviousMode, + (PVOID)&ExceptionPort, + NULL); if(NT_SUCCESS(Status)) { - PEPORT ExceptionPort; + /* lock the process to be thread-safe! */ - /* in case we had success reading from the buffer, verify the provided - * LPC port handle - */ - Status = ObReferenceObjectByHandle(PortHandle, - 0, - LpcPortObjectType, - PreviousMode, - (PVOID)&ExceptionPort, - NULL); + Status = PsLockProcess(Process, FALSE); if(NT_SUCCESS(Status)) { - /* lock the process to be thread-safe! */ - - Status = PsLockProcess(Process, FALSE); - if(NT_SUCCESS(Status)) + /* + * according to "NT Native API" documentation, setting the exception + * port is only permitted once! + */ + if(Process->ExceptionPort == NULL) { - /* - * according to "NT Native API" documentation, setting the exception - * port is only permitted once! - */ - if(Process->ExceptionPort == NULL) - { - /* keep the reference to the handle! */ - Process->ExceptionPort = ExceptionPort; - Status = STATUS_SUCCESS; - } - else - { - ObDereferenceObject(ExceptionPort); - Status = STATUS_PORT_ALREADY_SET; - } - PsUnlockProcess(Process); + /* keep the reference to the handle! */ + Process->ExceptionPort = ExceptionPort; + Status = STATUS_SUCCESS; } else { ObDereferenceObject(ExceptionPort); + Status = STATUS_PORT_ALREADY_SET; } + PsUnlockProcess(Process); } + else + { + ObDereferenceObject(ExceptionPort); + } } } break; @@ -2003,127 +1989,106 @@ case ProcessAccessToken: { - if(ProcessInformationLength != sizeof(PROCESS_ACCESS_TOKEN)) + HANDLE TokenHandle = NULL; + + /* make a safe copy of the buffer on the stack */ + _SEH_TRY { - Status = STATUS_INFO_LENGTH_MISMATCH; + TokenHandle = ((PPROCESS_ACCESS_TOKEN)ProcessInformation)->Token; + Status = STATUS_SUCCESS; } - else + _SEH_HANDLE { - HANDLE TokenHandle = NULL; + Status = _SEH_GetExceptionCode(); + } + _SEH_END; - /* make a safe copy of the buffer on the stack */ - _SEH_TRY - { - TokenHandle = ((PPROCESS_ACCESS_TOKEN)ProcessInformation)->Token; - Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - - if(NT_SUCCESS(Status)) - { - /* in case we had success reading from the buffer, perform the actual task */ - Status = PspAssignPrimaryToken(Process, TokenHandle); - } + if(NT_SUCCESS(Status)) + { + /* in case we had success reading from the buffer, perform the actual task */ + Status = PspAssignPrimaryToken(Process, TokenHandle); } break; } case ProcessDefaultHardErrorMode: { - if(ProcessInformationLength != sizeof(UINT)) + _SEH_TRY { - Status = STATUS_INFO_LENGTH_MISMATCH; + InterlockedExchange((LONG*)&Process->DefaultHardErrorProcessing, + *(PLONG)ProcessInformation); + Status = STATUS_SUCCESS; } - else + _SEH_HANDLE { - _SEH_TRY - { - InterlockedExchange((LONG*)&Process->DefaultHardErrorProcessing, - *(PLONG)ProcessInformation); - Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; + Status = _SEH_GetExceptionCode(); } + _SEH_END; break; } case ProcessSessionInformation: { - if(ProcessInformationLength != sizeof(UINT)) + PROCESS_SESSION_INFORMATION SessionInfo; + Status = STATUS_SUCCESS; + + _SEH_TRY { - Status = STATUS_INFO_LENGTH_MISMATCH; + /* copy the structure to the stack */ + SessionInfo = *(PPROCESS_SESSION_INFORMATION)ProcessInformation; } - else + _SEH_HANDLE { - PROCESS_SESSION_INFORMATION SessionInfo; - Status = STATUS_SUCCESS; + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + if(NT_SUCCESS(Status)) + { + /* we successfully copied the structure to the stack, continue processing */ - _SEH_TRY + /* + * setting the session id requires the SeTcbPrivilege! + */ + if(!SeSinglePrivilegeCheck(SeTcbPrivilege, + PreviousMode)) { - /* copy the structure to the stack */ - SessionInfo = *(PPROCESS_SESSION_INFORMATION)ProcessInformation; + DPRINT1("NtSetInformationProcess: Caller requires the SeTcbPrivilege privilege for setting ProcessSessionInformation!\n"); + /* can't set the session id, bail! */ + Status = STATUS_PRIVILEGE_NOT_HELD; + break; } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; + /* FIXME - update the session id for the process token */ + + Status = PsLockProcess(Process, FALSE); if(NT_SUCCESS(Status)) { - /* we successfully copied the structure to the stack, continue processing */ - - /* - * setting the session id requires the SeTcbPrivilege! - */ - if(!SeSinglePrivilegeCheck(SeTcbPrivilege, - PreviousMode)) - { - DPRINT1("NtSetInformationProcess: Caller requires the SeTcbPrivilege privilege for setting ProcessSessionInformation!\n"); - /* can't set the session id, bail! */ - Status = STATUS_PRIVILEGE_NOT_HELD; - break; - } - - /* FIXME - update the session id for the process token */ + Process->SessionId = SessionInfo.SessionId; - Status = PsLockProcess(Process, FALSE); - if(NT_SUCCESS(Status)) + /* Update the session id in the PEB structure */ + if(Process->Peb != NULL) { - Process->SessionId = SessionInfo.SessionId; + /* we need to attach to the process to make sure we're in the right + context to access the PEB structure */ + KeAttachProcess(&Process->Pcb); - /* Update the session id in the PEB structure */ - if(Process->Peb != NULL) + _SEH_TRY { - /* we need to attach to the process to make sure we're in the right - context to access the PEB structure */ - KeAttachProcess(&Process->Pcb); + /* FIXME: Process->Peb->SessionId = SessionInfo.SessionId; */ - _SEH_TRY - { - /* FIXME: Process->Peb->SessionId = SessionInfo.SessionId; */ - - Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - - KeDetachProcess(); + Status = STATUS_SUCCESS; } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; - PsUnlockProcess(Process); + KeDetachProcess(); } + + PsUnlockProcess(Process); } } break; _____ Modified: trunk/reactos/subsys/win32k/main/dllmain.c --- trunk/reactos/subsys/win32k/main/dllmain.c 2005-02-12 17:15:04 UTC (rev 13511) +++ trunk/reactos/subsys/win32k/main/dllmain.c 2005-02-12 20:37:04 UTC (rev 13512) @@ -178,7 +178,6 @@ InitializeListHead(&Win32Thread->WindowListHead); ExInitializeFastMutex(&Win32Thread->WindowListLock); InitializeListHead(&Win32Thread->W32CallbackListHead); - ExInitializeFastMutex(&Win32Thread->W32CallbackListLock); } else { _____ Modified: trunk/reactos/subsys/win32k/ntuser/callback.c --- trunk/reactos/subsys/win32k/ntuser/callback.c 2005-02-12 17:15:04 UTC (rev 13511) +++ trunk/reactos/subsys/win32k/ntuser/callback.c 2005-02-12 20:37:04 UTC (rev 13512) @@ -63,9 +63,7 @@ /* insert the callback memory into the thread's callback list */ - ExAcquireFastMutex(&W32Thread->W32CallbackListLock); InsertTailList(&W32Thread->W32CallbackListHead, &Mem->ListEntry); - ExReleaseFastMutex(&W32Thread->W32CallbackListLock); return (Mem + 1); } @@ -84,9 +82,7 @@ ASSERT(W32Thread); /* remove the memory block from the thread's callback list */ - ExAcquireFastMutex(&W32Thread->W32CallbackListLock); RemoveEntryList(&Mem->ListEntry); - ExReleaseFastMutex(&W32Thread->W32CallbackListLock); /* free memory */ ExFreePool(Mem); @@ -98,7 +94,6 @@ PLIST_ENTRY CurrentEntry; PINT_CALLBACK_HEADER Mem; - ExAcquireFastMutex(&W32Thread->W32CallbackListLock); while (!IsListEmpty(&W32Thread->W32CallbackListHead)) { CurrentEntry = RemoveHeadList(&W32Thread->W32CallbackListHead); @@ -108,7 +103,6 @@ /* free memory */ ExFreePool(Mem); } - ExReleaseFastMutex(&W32Thread->W32CallbackListLock); } /* FUNCTIONS *****************************************************************/
20 years, 3 months
1
0
0
0
[weiden] 13511: added stubs for NeedCurrentDirectoryForExePathA/W()
by weiden@svn.reactos.com
added stubs for NeedCurrentDirectoryForExePathA/W() Modified: trunk/reactos/include/ascii.h Modified: trunk/reactos/include/funcs.h Modified: trunk/reactos/include/unicode.h Modified: trunk/reactos/lib/kernel32/file/dir.c Modified: trunk/reactos/lib/kernel32/kernel32.def _____ Modified: trunk/reactos/include/ascii.h --- trunk/reactos/include/ascii.h 2005-02-12 16:47:02 UTC (rev 13510) +++ trunk/reactos/include/ascii.h 2005-02-12 17:15:04 UTC (rev 13511) @@ -1107,6 +1107,12 @@ LPSTR lpBuffer ); +BOOL +STDCALL +NeedCurrentDirectoryForExePathA( + LPCSTR ExeName + ); + WINBOOL STDCALL GetDiskFreeSpaceA( _____ Modified: trunk/reactos/include/funcs.h --- trunk/reactos/include/funcs.h 2005-02-12 16:47:02 UTC (rev 13510) +++ trunk/reactos/include/funcs.h 2005-02-12 17:15:04 UTC (rev 13511) @@ -358,6 +358,7 @@ #define GetWindowsDirectory GetWindowsDirectoryW #define SetCurrentDirectory SetCurrentDirectoryW #define GetCurrentDirectory GetCurrentDirectoryW +#define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathW #define GetDiskFreeSpace GetDiskFreeSpaceW #define GetDiskFreeSpaceEx GetDiskFreeSpaceExW #define CreateDirectory CreateDirectoryW @@ -878,6 +879,7 @@ #define GetWindowsDirectory GetWindowsDirectoryA #define SetCurrentDirectory SetCurrentDirectoryA #define GetCurrentDirectory GetCurrentDirectoryA +#define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathA #define GetDiskFreeSpace GetDiskFreeSpaceA #define GetDiskFreeSpaceEx GetDiskFreeSpaceExA #define CreateDirectory CreateDirectoryA _____ Modified: trunk/reactos/include/unicode.h --- trunk/reactos/include/unicode.h 2005-02-12 16:47:02 UTC (rev 13510) +++ trunk/reactos/include/unicode.h 2005-02-12 17:15:04 UTC (rev 13511) @@ -1118,6 +1118,12 @@ LPWSTR lpBuffer ); +BOOL +STDCALL +NeedCurrentDirectoryForExePathW( + LPCWSTR ExeName + ); + WINBOOL STDCALL GetDiskFreeSpaceW( _____ Modified: trunk/reactos/lib/kernel32/file/dir.c --- trunk/reactos/lib/kernel32/file/dir.c 2005-02-12 16:47:02 UTC (rev 13510) +++ trunk/reactos/lib/kernel32/file/dir.c 2005-02-12 17:15:04 UTC (rev 13511) @@ -1059,4 +1059,44 @@ return Ret; } + +/* + * @unimplemented + */ +BOOL STDCALL +NeedCurrentDirectoryForExePathW(LPCWSTR ExeName) +{ + DPRINT1("NeedCurrentDirectoryForExePathW(0x%x) not implemented!\n", ExeName); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/* + * @implemented + */ +BOOL STDCALL +NeedCurrentDirectoryForExePathA(LPCSTR ExeName) +{ + ANSI_STRING ExeNameA; + UNICODE_STRING ExeNameU; + BOOL Ret; + + RtlInitAnsiString(&ExeNameA, ExeName); + if(bIsFileApiAnsi) + { + RtlAnsiStringToUnicodeString(&ExeNameU, &ExeNameA, TRUE); + } + else + { + RtlOemStringToUnicodeString(&ExeNameU, &ExeNameA, TRUE); + } + + Ret = NeedCurrentDirectoryForExePathW(ExeNameU.Buffer); + + RtlFreeUnicodeString(&ExeNameU); + + return Ret; +} + /* EOF */ _____ Modified: trunk/reactos/lib/kernel32/kernel32.def --- trunk/reactos/lib/kernel32/kernel32.def 2005-02-12 16:47:02 UTC (rev 13510) +++ trunk/reactos/lib/kernel32/kernel32.def 2005-02-12 17:15:04 UTC (rev 13511) @@ -641,6 +641,8 @@ MoveFileWithProgressW@20 MulDiv@12 MultiByteToWideChar@24 +NeedCurrentDirectoryForExePathA@4 +NeedCurrentDirectoryForExePathW@4 NlsConvertIntegerToString@20 ;NlsGetCacheUpdateCount ;NlsResetProcessLocale
20 years, 3 months
1
0
0
0
[chorns] 13510: Branch setupapi (again)
by chorns@svn.reactos.com
Branch setupapi (again) Added: branches/xmlbuildsystem/reactos/lib/setupapi/ Added: branches/xmlbuildsystem/reactos/lib/setupapi/setupapi.xml _____ Copied: branches/xmlbuildsystem/reactos/lib/setupapi (from rev 13296, trunk/reactos/lib/setupapi) _____ Added: branches/xmlbuildsystem/reactos/lib/setupapi/setupapi.xml --- trunk/reactos/lib/setupapi/setupapi.xml 2005-01-25 23:36:57 UTC (rev 13296) +++ branches/xmlbuildsystem/reactos/lib/setupapi/setupapi.xml 2005-02-12 16:47:02 UTC (rev 13510) @@ -0,0 +1,33 @@ +<module name="setupapi" type="win32dll"> + <dependency>winebuild</dependency> + <importlibrary definition="setupapi.spec.def" /> + <include base="setupapi">.</include> + <include base="ReactOS">include/wine</include> + <define name="UNICODE" /> + <define name="_UNICODE" /> + <define name="__REACTOS__" /> + <define name="__USE_W32API" /> + <define name="_WIN32_IE">0x600</define> + <define name="_WIN32_WINNT">0x501</define> + <define name="WINVER">0x501</define> + <define name="__WINESRC__" /> + <define name="_SETUPAPI_" /> + <library>wine</library> + <library>wine_unicode</library> + <library>ntdll</library> + <library>kernel32</library> + <library>advapi32</library> + <library>user32</library> + <library>rpcrt4</library> + <library>version</library> + <file>devinst.c</file> + <file>dirid.c</file> + <file>diskspace.c</file> + <file>install.c</file> + <file>parser.c</file> + <file>queue.c</file> + <file>setupcab.c</file> + <file>stubs.c</file> + <file>setupapi.rc</file> + <file>setupapi.spec</file> +</module>
20 years, 3 months
1
0
0
0
[chorns] 13509: Remove setupapi (again)
by chorns@svn.reactos.com
Remove setupapi (again) Deleted: branches/xmlbuildsystem/reactos/lib/setupapi/
20 years, 3 months
1
0
0
0
[chorns] 13508: Branch setupapi
by chorns@svn.reactos.com
Branch setupapi Added: branches/xmlbuildsystem/reactos/lib/setupapi/ Added: branches/xmlbuildsystem/reactos/lib/setupapi/setupapi.xml _____ Copied: branches/xmlbuildsystem/reactos/lib/setupapi (from rev 12735, trunk/reactos/lib/setupapi) _____ Added: branches/xmlbuildsystem/reactos/lib/setupapi/setupapi.xml --- trunk/reactos/lib/setupapi/setupapi.xml 2005-01-02 20:12:17 UTC (rev 12735) +++ branches/xmlbuildsystem/reactos/lib/setupapi/setupapi.xml 2005-02-12 16:11:43 UTC (rev 13508) @@ -0,0 +1,33 @@ +<module name="setupapi" type="win32dll"> + <dependency>winebuild</dependency> + <importlibrary definition="setupapi.spec.def" /> + <include base="setupapi">.</include> + <include base="ReactOS">include/wine</include> + <define name="UNICODE" /> + <define name="_UNICODE" /> + <define name="__REACTOS__" /> + <define name="__USE_W32API" /> + <define name="_WIN32_IE">0x600</define> + <define name="_WIN32_WINNT">0x501</define> + <define name="WINVER">0x501</define> + <define name="__WINESRC__" /> + <define name="_SETUPAPI_" /> + <library>wine</library> + <library>wine_unicode</library> + <library>ntdll</library> + <library>kernel32</library> + <library>advapi32</library> + <library>user32</library> + <library>rpcrt4</library> + <library>version</library> + <file>devinst.c</file> + <file>dirid.c</file> + <file>diskspace.c</file> + <file>install.c</file> + <file>parser.c</file> + <file>queue.c</file> + <file>setupcab.c</file> + <file>stubs.c</file> + <file>setupapi.rc</file> + <file>setupapi.spec</file> +</module>
20 years, 3 months
1
0
0
0
[chorns] 13507: Remove setupapi
by chorns@svn.reactos.com
Remove setupapi Deleted: branches/xmlbuildsystem/reactos/lib/setupapi/
20 years, 3 months
1
0
0
0
← Newer
1
...
25
26
27
28
29
30
31
...
42
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Results per page:
10
25
50
100
200