winehq.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
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
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
August 2006
----- 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
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
5 participants
746 discussions
Start a n
N
ew thread
James Hawkins : msi: Add initial implementation of the DirectoryListUp event.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: a1b16d2d96c7d7e29bf9fd7dfccd45436242ea5e URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a1b16d2d96c7d7e29bf9fd7…
Author: James Hawkins <truiken(a)gmail.com> Date: Fri Aug 25 14:22:16 2006 -0700 msi: Add initial implementation of the DirectoryListUp event. --- dlls/msi/dialog.c | 30 ++++++++++++++++++++++++++++++ dlls/msi/events.c | 7 +++++++ dlls/msi/msipriv.h | 1 + 3 files changed, 38 insertions(+), 0 deletions(-) diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 13c3a6b..96c8d07 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -1995,9 +1995,35 @@ static UINT msi_dialog_directory_combo( /******************** Directory List ***************************************/ +UINT msi_dialog_directorylist_up( msi_dialog *dialog ) +{ + msi_control *control; + LPWSTR prop, path, ptr; + BOOL indirect; + + control = msi_dialog_find_control( dialog, szDirectoryList ); + indirect = control->attributes & msidbControlAttributesIndirect; + prop = msi_dialog_dup_property( dialog, control->property, indirect ); + + path = msi_dup_property( dialog->package, prop ); + + /* strip off the last directory */ + ptr = PathFindFileNameW( path ); + if (ptr != path) *(ptr - 1) = '\0'; + PathAddBackslashW( path ); + + MSI_SetPropertyW( dialog->package, prop, path ); + + msi_free( path ); + msi_free( prop ); + + return ERROR_SUCCESS; +} + static UINT msi_dialog_directory_list( msi_dialog *dialog, MSIRECORD *rec ) { msi_control *control; + LPCWSTR prop; DWORD style; style = LVS_LIST | LVS_EDITLABELS | WS_VSCROLL | LVS_SHAREIMAGELISTS | @@ -2007,6 +2033,10 @@ static UINT msi_dialog_directory_list( m if (!control) return ERROR_FUNCTION_FAILED; + control->attributes = MSI_RecordGetInteger( rec, 8 ); + prop = MSI_RecordGetString( rec, 9 ); + control->property = msi_dialog_dup_property( dialog, prop, FALSE ); + return ERROR_SUCCESS; } diff --git a/dlls/msi/events.c b/dlls/msi/events.c index 4d1525a..72e5217 100644 --- a/dlls/msi/events.c +++ b/dlls/msi/events.c @@ -379,6 +379,12 @@ static UINT ControlEvent_SetInstallLevel return MSI_SetInstallLevel( package, iInstallLevel ); } +static UINT ControlEvent_DirectoryListUp(MSIPACKAGE *package, LPCWSTR argument, + msi_dialog *dialog) +{ + return msi_dialog_directorylist_up( dialog ); +} + static const struct _events Events[] = { { "EndDialog",ControlEvent_EndDialog }, { "NewDialog",ControlEvent_NewDialog }, @@ -391,6 +397,7 @@ static const struct _events Events[] = { { "SetTargetPath",ControlEvent_SetTargetPath }, { "Reset",ControlEvent_Reset }, { "SetInstallLevel",ControlEvent_SetInstallLevel }, + { "DirectoryListUp",ControlEvent_DirectoryListUp }, { NULL,NULL }, }; diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index 7c85f1c..1c5a894 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -454,6 +454,7 @@ extern BOOL msi_dialog_register_class( v extern void msi_dialog_unregister_class( void ); extern void msi_dialog_handle_event( msi_dialog*, LPCWSTR, LPCWSTR, MSIRECORD * ); extern UINT msi_dialog_reset( msi_dialog *dialog ); +extern UINT msi_dialog_directorylist_up( msi_dialog *dialog ); /* preview */ extern MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE * );
1
0
0
0
James Hawkins : msi: Add initial implementation of the DirectoryCombo control.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: a97962eef442016f4e2f550bdaede236a47c9925 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a97962eef442016f4e2f550…
Author: James Hawkins <truiken(a)gmail.com> Date: Fri Aug 25 14:18:01 2006 -0700 msi: Add initial implementation of the DirectoryCombo control. --- dlls/msi/dialog.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 6293fc8..13c3a6b 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -36,6 +36,8 @@ #include "ocidl.h" #include "olectl.h" #include "richedit.h" #include "commctrl.h" +#include "winreg.h" +#include "shlwapi.h" #include "wine/debug.h" #include "wine/unicode.h" @@ -1945,17 +1947,49 @@ static UINT msi_dialog_list_box( msi_dia /******************** Directory Combo ***************************************/ +static LPWSTR msi_dialog_dup_property( msi_dialog *dialog, LPCWSTR property, BOOL indirect ) +{ + if (!property) + return NULL; + + if (indirect) + return msi_dup_property( dialog->package, property ); + + return strdupW( property ); +} + static UINT msi_dialog_directory_combo( msi_dialog *dialog, MSIRECORD *rec ) { msi_control *control; + LPWSTR path, propval; + BOOL indirect; + LPCWSTR prop; DWORD style; - style = CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | - WS_CHILD | WS_GROUP | WS_TABSTOP | WS_VSCROLL; + /* FIXME: use CBS_OWNERDRAWFIXED and add owner draw code */ + style = CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_CHILD | + WS_GROUP | WS_TABSTOP | WS_VSCROLL; control = msi_dialog_add_control( dialog, rec, WC_COMBOBOXW, style ); if (!control) return ERROR_FUNCTION_FAILED; + control->attributes = MSI_RecordGetInteger( rec, 8 ); + prop = MSI_RecordGetString( rec, 9 ); + control->property = msi_dialog_dup_property( dialog, prop, FALSE ); + + indirect = control->attributes & msidbControlAttributesIndirect; + propval = msi_dialog_dup_property( dialog, prop, indirect ); + path = msi_dup_property( dialog->package, propval ); + + PathStripPathW( path ); + PathRemoveBackslashW( path ); + + /* FIXME: Add whole directory structure to combo box */ + SendMessageW( control->hwnd, CB_ADDSTRING, 0, (LPARAM)path ); + SendMessageW( control->hwnd, CB_SETCURSEL, 0, 0 ); + + msi_free( path ); + msi_free( propval ); return ERROR_SUCCESS; }
1
0
0
0
Stefan Dösinger : wined3d: Find the correct sampler type for < 2.0 pshaders.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: 760456dc7fefe300845b99307e98b6f04e64052d URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=760456dc7fefe300845b993…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Sun Aug 27 19:16:01 2006 +0200 wined3d: Find the correct sampler type for < 2.0 pshaders. --- dlls/wined3d/arb_program_shader.c | 33 +++++++++++++++++++++++++++++---- dlls/wined3d/baseshader.c | 34 +++++++++++++++++++++++++++++++--- dlls/wined3d/pixelshader.c | 18 +++++++++--------- dlls/wined3d/vertexshader.c | 2 +- dlls/wined3d/wined3d_private.h | 3 ++- 5 files changed, 72 insertions(+), 18 deletions(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index e3c21e3..e984b9d 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -621,8 +621,10 @@ void pshader_hw_tex(SHADER_OPCODE_ARG* a char reg_dest[40]; char reg_coord[40]; + const char *tex_type; DWORD reg_dest_code; DWORD reg_sampler_code; + DWORD sampler_type; /* All versions have a destination register */ reg_dest_code = dst & D3DSP_REGNUM_MASK; @@ -642,12 +644,35 @@ void pshader_hw_tex(SHADER_OPCODE_ARG* a else reg_sampler_code = src[1] & D3DSP_REGNUM_MASK; + sampler_type = arg->reg_maps->samplers[reg_sampler_code] & WINED3DSP_TEXTURETYPE_MASK; + switch(sampler_type) { + case WINED3DSTT_1D: + tex_type = "1D"; + break; + + case WINED3DSTT_2D: + tex_type = "2D"; + break; + + case WINED3DSTT_VOLUME: + tex_type = "3D"; + break; + + case WINED3DSTT_CUBE: + tex_type = "CUBE"; + break; + + default: + ERR("Unexpected texture type %ld\n", sampler_type); + tex_type = "2D"; + } + if(This->wineD3DDevice->stateBlock->textureState[reg_sampler_code][D3DTSS_TEXTURETRANSFORMFLAGS] & D3DTTFF_PROJECTED) { - shader_addline(buffer, "TXP %s, %s, texture[%lu], 2D;\n", - reg_dest, reg_coord, reg_sampler_code); + shader_addline(buffer, "TXP %s, %s, texture[%lu], %s;\n", + reg_dest, reg_coord, reg_sampler_code, tex_type); } else { - shader_addline(buffer, "TEX %s, %s, texture[%lu], 2D;\n", - reg_dest, reg_coord, reg_sampler_code); + shader_addline(buffer, "TEX %s, %s, texture[%lu], %s;\n", + reg_dest, reg_coord, reg_sampler_code, tex_type); } } diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c index f5e3de5..ebcc160 100644 --- a/dlls/wined3d/baseshader.c +++ b/dlls/wined3d/baseshader.c @@ -180,7 +180,8 @@ HRESULT shader_get_registers_used( shader_reg_maps* reg_maps, semantic* semantics_in, semantic* semantics_out, - CONST DWORD* pToken) { + CONST DWORD* pToken, + IWineD3DStateBlockImpl *stateBlock) { IWineD3DBaseShaderImpl* This = (IWineD3DBaseShaderImpl*) iface; @@ -299,8 +300,35 @@ HRESULT shader_get_registers_used( /* Fake sampler usage, only set reserved bit and ttype */ DWORD sampler_code = *pToken & D3DSP_REGNUM_MASK; - reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_2D; - + + if(!stateBlock->textures[sampler_code]) { + ERR("No texture bound to sampler %ld\n", sampler_code); + reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_2D; + } else { + int texType = IWineD3DBaseTexture_GetTextureDimensions(stateBlock->textures[sampler_code]); + switch(texType) { + case GL_TEXTURE_1D: + reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_1D; + break; + + case GL_TEXTURE_2D: + reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_2D; + break; + + case GL_TEXTURE_3D: + reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_VOLUME; + break; + + case GLTEXTURECUBEMAP: + reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_CUBE; + break; + + default: + ERR("Unexpected gl texture type found: %d\n", texType); + reg_maps->samplers[sampler_code] = (0x1 << 31) | WINED3DSTT_2D; + } + } + } else if (D3DSHADER_VERSION_MAJOR(This->baseShader.hex_version) == 1 && (D3DSIO_TEXM3x3SPEC == curOpcode->opcode || D3DSIO_TEXM3x3VSPEC == curOpcode->opcode)) { diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c index ab05dbb..814c40e 100644 --- a/dlls/wined3d/pixelshader.c +++ b/dlls/wined3d/pixelshader.c @@ -917,8 +917,6 @@ #endif static HRESULT WINAPI IWineD3DPixelShaderImpl_SetFunction(IWineD3DPixelShader *iface, CONST DWORD *pFunction) { IWineD3DPixelShaderImpl *This =(IWineD3DPixelShaderImpl *)iface; - HRESULT hr; - shader_reg_maps *reg_maps = &This->baseShader.reg_maps; TRACE("(%p) : pFunction %p\n", iface, pFunction); @@ -931,13 +929,6 @@ static HRESULT WINAPI IWineD3DPixelShade list_init(&This->baseShader.constantsB); list_init(&This->baseShader.constantsI); - /* Second pass: figure out which registers are used, what the semantics are, etc.. */ - memset(reg_maps, 0, sizeof(shader_reg_maps)); - hr = shader_get_registers_used((IWineD3DBaseShader*) This, reg_maps, - This->semantics_in, NULL, pFunction); - if (hr != WINED3D_OK) return hr; - /* FIXME: validate reg_maps against OpenGL */ - This->baseShader.shader_mode = wined3d_settings.ps_selected_mode; TRACE("(%p) : Copying the function\n", This); @@ -955,6 +946,8 @@ static HRESULT WINAPI IWineD3DPixelShade static HRESULT WINAPI IWineD3DPixelShaderImpl_CompileShader(IWineD3DPixelShader *iface) { IWineD3DPixelShaderImpl *This =(IWineD3DPixelShaderImpl *)iface; CONST DWORD *function = This->baseShader.function; + shader_reg_maps *reg_maps = &This->baseShader.reg_maps; + HRESULT hr; TRACE("(%p) : function %p\n", iface, function); @@ -967,6 +960,13 @@ static HRESULT WINAPI IWineD3DPixelShade return WINED3D_OK; } + /* Second pass: figure out which registers are used, what the semantics are, etc.. */ + memset(reg_maps, 0, sizeof(shader_reg_maps)); + hr = shader_get_registers_used((IWineD3DBaseShader*) This, reg_maps, + This->semantics_in, NULL, This->baseShader.function, This->wineD3DDevice->stateBlock); + if (hr != WINED3D_OK) return hr; + /* FIXME: validate reg_maps against OpenGL */ + /* Generate the HW shader */ TRACE("(%p) : Generating hardware program\n", This); IWineD3DPixelShaderImpl_GenerateShader(iface, &This->baseShader.reg_maps, function); diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c index 3427dff..2f3de86 100644 --- a/dlls/wined3d/vertexshader.c +++ b/dlls/wined3d/vertexshader.c @@ -1183,7 +1183,7 @@ static HRESULT WINAPI IWineD3DVertexShad /* Second pass: figure out registers used, semantics, etc.. */ memset(reg_maps, 0, sizeof(shader_reg_maps)); hr = shader_get_registers_used((IWineD3DBaseShader*) This, reg_maps, - This->semantics_in, This->semantics_out, pFunction); + This->semantics_in, This->semantics_out, pFunction, This->wineD3DDevice->stateBlock); if (hr != WINED3D_OK) return hr; This->baseShader.shader_mode = wined3d_settings.vs_selected_mode; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index bc8a9b5..f136ff2 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1599,7 +1599,8 @@ extern HRESULT shader_get_registers_used shader_reg_maps* reg_maps, semantic* semantics_in, semantic* semantics_out, - CONST DWORD* pToken); + CONST DWORD* pToken, + IWineD3DStateBlockImpl *stateBlock); extern void shader_generate_glsl_declarations( IWineD3DBaseShader *iface,
1
0
0
0
Stefan Dösinger : wined3d: Properly initialize a variable.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: 252a0a76d48751a23389a32a0245f09d09643cd2 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=252a0a76d48751a23389a32…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Sun Aug 27 00:37:56 2006 +0200 wined3d: Properly initialize a variable. --- dlls/wined3d/surface.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 0e0e6dd..fe4fd29 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -2026,7 +2026,7 @@ HRESULT WINAPI IWineD3DSurfaceImpl_SaveS char *textureRow; IWineD3DSwapChain *swapChain = NULL; int width, height; - GLuint tmpTexture; + GLuint tmpTexture = 0; DWORD color; /*FIXME: Textures my not be stored in ->allocatedgMemory and a GlTexture
1
0
0
0
Andrew Talbot : advapi32/tests: Cast-qual warnings fix.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: 0eebab86523ce092558cc278f57c0f423f09aca7 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=0eebab86523ce092558cc27…
Author: Andrew Talbot <Andrew.Talbot(a)talbotville.com> Date: Sat Aug 26 21:48:14 2006 +0100 advapi32/tests: Cast-qual warnings fix. --- dlls/advapi32/tests/registry.c | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c index 3622618..2341cad 100644 --- a/dlls/advapi32/tests/registry.c +++ b/dlls/advapi32/tests/registry.c @@ -99,24 +99,24 @@ static void test_set_value(void) { DWORD ret; - const WCHAR name1W[] = {'C','l','e','a','n','S','i','n','g','l','e','S','t','r','i','n','g', 0}; - const WCHAR name2W[] = {'S','o','m','e','I','n','t','r','a','Z','e','r','o','e','d','S','t','r','i','n','g', 0}; - const WCHAR string1W[] = {'T','h','i','s','N','e','v','e','r','B','r','e','a','k','s', 0}; - const WCHAR string2W[] = {'T','h','i','s', 0 ,'B','r','e','a','k','s', 0 , 0 ,'A', 0 , 0 , 0 , 0 ,'L','o','t', 0 , 0 , 0 , 0}; + static const WCHAR name1W[] = {'C','l','e','a','n','S','i','n','g','l','e','S','t','r','i','n','g', 0}; + static const WCHAR name2W[] = {'S','o','m','e','I','n','t','r','a','Z','e','r','o','e','d','S','t','r','i','n','g', 0}; + static const WCHAR string1W[] = {'T','h','i','s','N','e','v','e','r','B','r','e','a','k','s', 0}; + static const WCHAR string2W[] = {'T','h','i','s', 0 ,'B','r','e','a','k','s', 0 , 0 ,'A', 0 , 0 , 0 , 0 ,'L','o','t', 0 , 0 , 0 , 0}; - const char name1A[] = "CleanSingleString"; - const char name2A[] = "SomeIntraZeroedString"; - const char string1A[] = "ThisNeverBreaks"; - const char string2A[] = "This\0Breaks\0\0A\0\0\0Lot\0\0\0\0"; + static const char name1A[] = "CleanSingleString"; + static const char name2A[] = "SomeIntraZeroedString"; + static const char string1A[] = "ThisNeverBreaks"; + static const char string2A[] = "This\0Breaks\0\0A\0\0\0Lot\0\0\0\0"; /* test RegSetValueExA with normal string */ - ret = RegSetValueExA(hkey_main, name1A, 0, REG_SZ, (LPBYTE)string1A, sizeof(string1A)); + ret = RegSetValueExA(hkey_main, name1A, 0, REG_SZ, (const BYTE *)string1A, sizeof(string1A)); ok(ret == ERROR_SUCCESS, "RegSetValueExA failed: %ld, GLE=%ld\n", ret, GetLastError()); test_hkey_main_Value_A(name1A, string1A); test_hkey_main_Value_W(name1W, string1W); /* test RegSetValueExA with intrazeroed string */ - ret = RegSetValueExA(hkey_main, name2A, 0, REG_SZ, (LPBYTE)string2A, sizeof(string2A)); + ret = RegSetValueExA(hkey_main, name2A, 0, REG_SZ, (const BYTE *)string2A, sizeof(string2A)); ok(ret == ERROR_SUCCESS, "RegSetValueExA failed: %ld, GLE=%ld\n", ret, GetLastError()); test_hkey_main_Value_A(name1A, string1A); test_hkey_main_Value_W(name1W, string1W); @@ -125,13 +125,13 @@ static void test_set_value(void) if(GLE == ERROR_CALL_NOT_IMPLEMENTED) return; /* test RegSetValueExW with normal string */ - ret = RegSetValueExW(hkey_main, name1W, 0, REG_SZ, (LPBYTE)string1W, sizeof(string1W)); + ret = RegSetValueExW(hkey_main, name1W, 0, REG_SZ, (const BYTE *)string1W, sizeof(string1W)); ok(ret == ERROR_SUCCESS, "RegSetValueExW failed: %ld, GLE=%ld\n", ret, GetLastError()); test_hkey_main_Value_A(name1A, string1A); test_hkey_main_Value_W(name1W, string1W); /* test RegSetValueExW with intrazeroed string */ - ret = RegSetValueExW(hkey_main, name2W, 0, REG_SZ, (LPBYTE)string2W, sizeof(string2W)); + ret = RegSetValueExW(hkey_main, name2W, 0, REG_SZ, (const BYTE *)string2W, sizeof(string2W)); ok(ret == ERROR_SUCCESS, "RegSetValueExW failed: %ld, GLE=%ld\n", ret, GetLastError()); test_hkey_main_Value_A(name1A, string1A); test_hkey_main_Value_W(name1W, string1W); @@ -139,22 +139,22 @@ static void test_set_value(void) static void create_test_entries(void) { - DWORD qw[2] = { 0x12345678, 0x87654321 }; + static const DWORD qw[2] = { 0x12345678, 0x87654321 }; SetEnvironmentVariableA("LONGSYSTEMVAR", "bar"); SetEnvironmentVariableA("FOO", "ImARatherLongButIndeedNeededString"); - ok(!RegSetValueExA(hkey_main,"TP1_EXP_SZ",0,REG_EXPAND_SZ, (LPBYTE)sTestpath1, strlen(sTestpath1)+1), + ok(!RegSetValueExA(hkey_main,"TP1_EXP_SZ",0,REG_EXPAND_SZ, (const BYTE *)sTestpath1, strlen(sTestpath1)+1), "RegSetValueExA failed\n"); - ok(!RegSetValueExA(hkey_main,"TP1_SZ",0,REG_SZ, (LPBYTE)sTestpath1, strlen(sTestpath1)+1), + ok(!RegSetValueExA(hkey_main,"TP1_SZ",0,REG_SZ, (const BYTE *)sTestpath1, strlen(sTestpath1)+1), "RegSetValueExA failed\n"); - ok(!RegSetValueExA(hkey_main,"TP2_EXP_SZ",0,REG_EXPAND_SZ, (LPBYTE)sTestpath2, strlen(sTestpath2)+1), + ok(!RegSetValueExA(hkey_main,"TP2_EXP_SZ",0,REG_EXPAND_SZ, (const BYTE *)sTestpath2, strlen(sTestpath2)+1), "RegSetValueExA failed\n"); - ok(!RegSetValueExA(hkey_main,"DWORD",0,REG_DWORD, (LPBYTE)qw, 4), + ok(!RegSetValueExA(hkey_main,"DWORD",0,REG_DWORD, (const BYTE *)qw, 4), "RegSetValueExA failed\n"); - ok(!RegSetValueExA(hkey_main,"BIN32",0,REG_BINARY, (LPBYTE)qw, 4), + ok(!RegSetValueExA(hkey_main,"BIN32",0,REG_BINARY, (const BYTE *)qw, 4), "RegSetValueExA failed\n"); - ok(!RegSetValueExA(hkey_main,"BIN64",0,REG_BINARY, (LPBYTE)qw, 8), + ok(!RegSetValueExA(hkey_main,"BIN64",0,REG_BINARY, (const BYTE *)qw, 8), "RegSetValueExA failed\n"); } @@ -184,7 +184,7 @@ static void test_enum_value(void) res = RegSetValueExA( test_key, "Test", 0, REG_BINARY, NULL, 0 ); ok( ERROR_SUCCESS == res || ERROR_INVALID_PARAMETER == res, "RegSetValueExA returned %ld\n", res ); - res = RegSetValueExA( test_key, "Test", 0, REG_SZ, (BYTE *)"foobar", 7 ); + res = RegSetValueExA( test_key, "Test", 0, REG_SZ, (const BYTE *)"foobar", 7 ); ok( res == 0, "RegSetValueExA failed error %ld\n", res ); /* overflow both name and data */
1
0
0
0
Matt Finnicum : riched20: Remove two testing fixme' s that were accidentally committed.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: 0d15a6ae152fa9fe6b0bed8e27d09563693f875d URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=0d15a6ae152fa9fe6b0bed8…
Author: Matt Finnicum <mattfinn(a)gmail.com> Date: Sun Aug 27 04:10:38 2006 -0500 riched20: Remove two testing fixme's that were accidentally committed. --- dlls/riched20/editor.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 15d2654..a61ee03 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -2630,10 +2630,6 @@ void ME_LinkNotify(ME_TextEditor *editor y = (short)HIWORD(lParam); ME_FindPixelPos(editor, x, y, &tmpCursor, &bNothing); tmpRun = &tmpCursor.pRun->member.run; - if (tmpRun->style->fmt.dwMask & CFM_UNDERLINE) - FIXME("CFM_UNDERLINE! GASP!\n"); - if (tmpRun->style->fmt.dwEffects & CFE_UNDERLINE) - FIXME("CFE_UNDERLINE! GASP!\n"); if ((tmpRun->style->fmt.dwMask & CFM_LINK) && (tmpRun->style->fmt.dwEffects & CFE_LINK))
1
0
0
0
Dmitry Timoshkov : user: Do not force repainting on WM_WINDOWPOSCHANGED in combobox.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: a20d0336274a8f361021ed48160701781cfe2f40 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a20d0336274a8f361021ed4…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Sun Aug 27 17:54:05 2006 +0900 user: Do not force repainting on WM_WINDOWPOSCHANGED in combobox. - do not force repainting on WM_WINDOWPOSCHANGED in combobox, it breaks Z-order based painting. - do nothing in the combobox WM_ERASEBKGND handler do all painting in WM_PAINT like Windows does. --- dlls/user/combo.c | 47 ++++++++++++----------------------------------- 1 files changed, 12 insertions(+), 35 deletions(-) diff --git a/dlls/user/combo.c b/dlls/user/combo.c index b8a815a..27c2923 100644 --- a/dlls/user/combo.c +++ b/dlls/user/combo.c @@ -912,34 +912,6 @@ static HBRUSH COMBO_PrepareColors( return hBkgBrush; } -/*********************************************************************** - * COMBO_EraseBackground - */ -static LRESULT COMBO_EraseBackground( - HWND hwnd, - LPHEADCOMBO lphc, - HDC hParamDC) -{ - HBRUSH hBkgBrush; - HDC hDC; - - if(lphc->wState & CBF_EDIT) - return TRUE; - - hDC = (hParamDC) ? hParamDC - : GetDC(hwnd); - /* - * Retrieve the background brush - */ - hBkgBrush = COMBO_PrepareColors(lphc, hDC); - - FillRect(hDC, &lphc->textRect, hBkgBrush); - - if (!hParamDC) - ReleaseDC(hwnd, hDC); - - return TRUE; -} /*********************************************************************** * COMBO_Paint @@ -965,6 +937,8 @@ static LRESULT COMBO_Paint(LPHEADCOMBO l hBkgBrush = COMBO_PrepareColors(lphc, hDC); hPrevBrush = SelectObject( hDC, hBkgBrush ); + if (!(lphc->wState & CBF_EDIT)) + FillRect(hDC, &lphc->textRect, hBkgBrush); /* * In non 3.1 look, there is a sunken border on the combobox @@ -1606,7 +1580,7 @@ static void CBResetPos( /*********************************************************************** * COMBO_Size */ -static void COMBO_Size( LPHEADCOMBO lphc ) +static void COMBO_Size( LPHEADCOMBO lphc, BOOL bRedraw ) { CBCalcPlacement(lphc->self, lphc, @@ -1614,7 +1588,7 @@ static void COMBO_Size( LPHEADCOMBO lphc &lphc->buttonRect, &lphc->droppedRect); - CBResetPos( lphc, &lphc->textRect, &lphc->droppedRect, TRUE ); + CBResetPos( lphc, &lphc->textRect, &lphc->droppedRect, bRedraw ); } @@ -1907,15 +1881,15 @@ static LRESULT ComboWndProc_common( HWND } case WM_PRINTCLIENT: - if (lParam & PRF_ERASEBKGND) - COMBO_EraseBackground(hwnd, lphc, (HDC)wParam); - /* Fallthrough */ case WM_PAINT: /* wParam may contain a valid HDC! */ return COMBO_Paint(lphc, (HDC)wParam); + case WM_ERASEBKGND: - return COMBO_EraseBackground(hwnd, lphc, (HDC)wParam); + /* do all painting in WM_PAINT like Windows does */ + return 1; + case WM_GETDLGCODE: { LRESULT result = DLGC_WANTARROWS | DLGC_WANTCHARS; @@ -1936,10 +1910,13 @@ static LRESULT ComboWndProc_common( HWND * get a WM_SIZE. Since we still want to update the Listbox, we have to * do it here. */ + /* we should not force repainting on WM_WINDOWPOSCHANGED, it breaks + * Z-order based painting. + */ /* fall through */ case WM_SIZE: if( lphc->hWndLBox && - !(lphc->wState & CBF_NORESIZE) ) COMBO_Size( lphc ); + !(lphc->wState & CBF_NORESIZE) ) COMBO_Size( lphc, message == WM_SIZE ); return TRUE; case WM_SETFONT: COMBO_Font( lphc, (HFONT)wParam, (BOOL)lParam );
1
0
0
0
Roderick Colenbrander : opengl: Fix Mesa/DRI regression.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: 336f34f652ee3d3142276e8043ae290fa7cfa974 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=336f34f652ee3d3142276e8…
Author: Roderick Colenbrander <thunderbird2k(a)gmx.net> Date: Sun Aug 27 10:47:13 2006 +0000 opengl: Fix Mesa/DRI regression. --- dlls/opengl32/wgl.c | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index f1efe8c..b3bcbed 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -583,7 +583,7 @@ static int describeDrawable(Wine_GLConte int attribList[3] = { GLX_FBCONFIG_ID, 0, None }; GLXFBConfig *fbCfgs; - if (3 > wine_glx.version || NULL == wine_glx.p_glXQueryDrawable) { + if (wine_glx.p_glXQueryDrawable == NULL) { /** glXQueryDrawable not available so returns not supported */ return -1; } @@ -1302,6 +1302,10 @@ static void wgl_initialize_glx(Display * * The versioning checks below try to take into account the comments from above. */ + TRACE("Server GLX version: %s\n", server_glx_version); + TRACE("Client GLX version: %s\n", client_glx_version); + TRACE("Direct rendering eanbled: %s\n", glx_direct ? "True" : "False"); + /* Based on the default opengl context we decide whether direct or indirect rendering is used. * In case of indirect rendering we check if the GLX version of the server is 1.2 and else * the client version is checked. @@ -1326,7 +1330,6 @@ static void wgl_initialize_glx(Display * wine_glx.p_glXGetVisualFromFBConfig = proc( (const GLubyte *) "glXGetVisualFromFBConfig"); /*wine_glx.p_glXGetFBConfigs = proc( (const GLubyte *) "glXGetFBConfigs");*/ - wine_glx.p_glXQueryDrawable = proc( (const GLubyte *) "glXQueryDrawable"); } else { if (NULL != strstr(glx_extensions, "GLX_SGIX_fbconfig")) { wine_glx.p_glXChooseFBConfig = proc( (const GLubyte *) "glXChooseFBConfigSGIX"); @@ -1336,6 +1339,15 @@ static void wgl_initialize_glx(Display * ERR(" glx_version as %s and GLX_SGIX_fbconfig extension is unsupported. Expect problems.\n", client_glx_version); } } + + /* The mesa libGL client library seems to forward glXQueryDrawable to the Xserver, so only + * enable this function when the Xserver understand GLX 1.3 or newer + */ + if (!strcmp("1.2", server_glx_version)) + wine_glx.p_glXQueryDrawable = NULL; + else + wine_glx.p_glXQueryDrawable = proc( (const GLubyte *) "glXQueryDrawable"); + /** try anyway to retrieve that calls, maybe they works using glx client tricks */ wine_glx.p_glXGetFBConfigs = proc( (const GLubyte *) "glXGetFBConfigs"); wine_glx.p_glXMakeContextCurrent = proc( (const GLubyte *) "glXMakeContextCurrent");
1
0
0
0
Robert Reif : advapi32: Fix security tests to not crash on windows.
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: d46c9e2ec2ece35130d9db35ed71777dce8cb792 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=d46c9e2ec2ece35130d9db3…
Author: Robert Reif <reif(a)earthlink.net> Date: Sun Aug 27 16:36:23 2006 -0400 advapi32: Fix security tests to not crash on windows. --- dlls/advapi32/tests/security.c | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index 3893b5d..8f7cbe7 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -102,7 +102,12 @@ static void test_str_sid(const char *str } } else - trace("%s couldn't be converted, returned %ld\n", str_sid, GetLastError()); + { + if (GetLastError() != ERROR_INVALID_SID) + trace(" %s: couldn't be converted, returned %ld\n", str_sid, GetLastError()); + else + trace(" %s: couldn't be converted\n", str_sid); + } } static void test_sid(void) @@ -870,7 +875,7 @@ static void test_sid_str(PSID * sid) if (ret) trace(" %s %s\\%s %d\n", str_sid, domain, account, use); else if (GetLastError() == ERROR_NONE_MAPPED) - trace(" %s Couldn't me mapped\n", str_sid); + trace(" %s couldn't be mapped\n", str_sid); LocalFree(str_sid); } } @@ -981,17 +986,7 @@ static void test_LookupAccountSid(void) ret = LookupAccountSidW(NULL, pUsersSid, accountW, &real_acc_sizeW, domainW, &real_dom_sizeW, &use); ok(ret, "LookupAccountSidW() Expected TRUE, got FALSE\n"); - /* try NULL account */ - acc_sizeW = MAX_PATH; - dom_sizeW = MAX_PATH; - ret = LookupAccountSidW(NULL, pUsersSid, NULL, &acc_sizeW, domainW, &dom_sizeW, &use); - ok(ret, "LookupAccountSidW() Expected TRUE, got FALSE\n"); - - /* try NULL domain */ - acc_sizeW = MAX_PATH; - dom_sizeW = MAX_PATH; - ret = LookupAccountSidW(NULL, pUsersSid, accountW, &acc_sizeW, NULL, &dom_sizeW, &use); - ok(ret, "LookupAccountSidW() Expected TRUE, got FALSE\n"); + /* native windows crashes if domainW or accountW is NULL */ /* try a small account buffer */ acc_sizeW = 1; @@ -1069,7 +1064,12 @@ static void test_LookupAccountSid(void) } } else - trace(" CreateWellKnownSid(%d) failed: %ld\n", i, GetLastError()); + { + if (GetLastError() != ERROR_INVALID_PARAMETER) + trace(" CreateWellKnownSid(%d) failed: %ld\n", i, GetLastError()); + else + trace(" %d: not supported\n", i); + } } pLsaQueryInformationPolicy = (fnLsaQueryInformationPolicy)GetProcAddress( hmod, "LsaQueryInformationPolicy");
1
0
0
0
Robert Reif : kernel32: Fix TRACE in WideCharToMultiByte to not cause exception with non-null terminated input .
by Alexandre Julliard
28 Aug '06
28 Aug '06
Module: wine Branch: master Commit: 5f18bfca68d0e20df5f1d881d678a7ee753c8bd4 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=5f18bfca68d0e20df5f1d88…
Author: Robert Reif <reif(a)earthlink.net> Date: Sat Aug 26 10:15:27 2006 -0400 kernel32: Fix TRACE in WideCharToMultiByte to not cause exception with non-null terminated input. --- dlls/kernel/locale.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/dlls/kernel/locale.c b/dlls/kernel/locale.c index a1608e2..7d33a8f 100644 --- a/dlls/kernel/locale.c +++ b/dlls/kernel/locale.c @@ -1662,7 +1662,8 @@ INT WINAPI WideCharToMultiByte( UINT pag } ret = 0; } - TRACE("cp %d %s -> %s\n", page, debugstr_w(src), debugstr_a(dst)); + TRACE("cp %d %s -> %s, ret = %d\n", + page, debugstr_wn(src, srclen), debugstr_an(dst, ret), ret); return ret; }
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
9
...
75
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Results per page:
10
25
50
100
200