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
February 2008
----- 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
3 participants
999 discussions
Start a n
N
ew thread
Mikołaj Zalewski : shell32: Fixes in Polish translation.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: 83724232fd263b453437049e51a8fb933f320e3f URL:
http://source.winehq.org/git/wine.git/?a=commit;h=83724232fd263b453437049e5…
Author: Mikołaj Zalewski <mikolaj(a)zalewski.pl> Date: Thu Feb 28 08:55:27 2008 +0100 shell32: Fixes in Polish translation. --- dlls/shell32/shell32_Pl.rc | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/shell32_Pl.rc b/dlls/shell32/shell32_Pl.rc index 63f7701..0994ed1 100644 --- a/dlls/shell32/shell32_Pl.rc +++ b/dlls/shell32/shell32_Pl.rc @@ -76,14 +76,14 @@ MENU_SHV_FILE MENU DISCARDABLE BEGIN POPUP "" BEGIN - MENUITEM "&Select" FCIDM_SHVIEW_OPEN + MENUITEM "&Wybierz" FCIDM_SHVIEW_OPEN MENUITEM "&Eksploruj", FCIDM_SHVIEW_EXPLORE MENUITEM "&Otw�rz", FCIDM_SHVIEW_OPEN MENUITEM SEPARATOR MENUITEM "&Wytnij", FCIDM_SHVIEW_CUT MENUITEM "&Kopiuj", FCIDM_SHVIEW_COPY MENUITEM SEPARATOR - MENUITEM "Utw�rz &Skr�t", FCIDM_SHVIEW_CREATELINK + MENUITEM "Utw�rz &skr�t", FCIDM_SHVIEW_CREATELINK MENUITEM "&Usu�", FCIDM_SHVIEW_DELETE MENUITEM "&Zmie� nazw�", FCIDM_SHVIEW_RENAME MENUITEM SEPARATOR @@ -178,7 +178,7 @@ STRINGTABLE DISCARDABLE IDS_CREATEFOLDER_DENIED "Nie mog� utworzy� nowego katalogu: Brak dost�pu." IDS_CREATEFOLDER_CAPTION "B��d przy tworzeniu nowego katalogu." - IDS_DELETEITEM_CAPTION "Potwierd� usuni�cia pliku" + IDS_DELETEITEM_CAPTION "Potwierd� usuni�cie pliku" IDS_DELETEFOLDER_CAPTION "Potwierd� usuni�cie katalogu" IDS_DELETEITEM_TEXT "Czy jeste� pewien, �e chcesz usun�� '%1'?" IDS_DELETEMULTIPLE_TEXT "Czy jeste� pewien, �e chcesz usun�� te %1 pliki?" @@ -229,5 +229,5 @@ STRINGTABLE DISCARDABLE IDS_COMMON_VIDEO "Documenty\\Moje wideo" IDS_CDBURN_AREA "Ustawienia lokalne\\Dane aplikacji\\Microsoft\\Nagrywanie dysk�w CD" - IDS_NEWFOLDER "New Folder" + IDS_NEWFOLDER "Nowy Folder" }
1
0
0
0
Mikołaj Zalewski : winefile: Add FOF_ALLOWUNDO to winefile to allow files go to trash.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: 7b4f4996843589ff02c04954a81a527095e16cca URL:
http://source.winehq.org/git/wine.git/?a=commit;h=7b4f4996843589ff02c04954a…
Author: Mikołaj Zalewski <mikolaj(a)zalewski.pl> Date: Thu Feb 28 08:51:40 2008 +0100 winefile: Add FOF_ALLOWUNDO to winefile to allow files go to trash. --- programs/winefile/winefile.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/programs/winefile/winefile.c b/programs/winefile/winefile.c index 4805a6b..571b543 100644 --- a/programs/winefile/winefile.c +++ b/programs/winefile/winefile.c @@ -4491,7 +4491,7 @@ static LRESULT CALLBACK ChildWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM case ID_FILE_DELETE: { TCHAR path[BUFFER_LEN]; - SHFILEOPSTRUCT shfo = {hwnd, FO_DELETE, path}; + SHFILEOPSTRUCT shfo = {hwnd, FO_DELETE, path, NULL, FOF_ALLOWUNDO}; get_path(pane->cur, path);
1
0
0
0
Alexandre Julliard : winmm/tests: Make sure the callback thread has a message queue.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: edb91ce51971c9c138b8754da631bc399f8b5729 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=edb91ce51971c9c138b8754da…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Feb 28 19:56:48 2008 +0100 winmm/tests: Make sure the callback thread has a message queue. --- dlls/winmm/tests/wave.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/dlls/winmm/tests/wave.c b/dlls/winmm/tests/wave.c index 93e406e..60f0622 100644 --- a/dlls/winmm/tests/wave.c +++ b/dlls/winmm/tests/wave.c @@ -535,6 +535,7 @@ static DWORD WINAPI callback_thread(LPVOID lpParameter) { MSG msg; + PeekMessageW( &msg, 0, 0, 0, PM_NOREMOVE ); /* make sure the thread has a message queue */ SetEvent((HANDLE)lpParameter); while (GetMessage(&msg, 0, 0, 0)) {
1
0
0
0
Alexandre Julliard : user32/tests: Flush events after showing/ hiding a window to avoid z-order race conditions.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: d2b608799975150ec6e9873903eb559e758864a2 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=d2b608799975150ec6e987390…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Feb 28 19:56:38 2008 +0100 user32/tests: Flush events after showing/hiding a window to avoid z-order race conditions. --- dlls/user32/tests/win.c | 39 +++++++++++++++++++++++++++------------ 1 files changed, 27 insertions(+), 12 deletions(-) diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c index fefa2b2..bf8e4fe 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c @@ -2672,10 +2672,12 @@ static void test_mouse_input(HWND hwnd) ShowWindow(hwnd, SW_HIDE); ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE); ok( !ret, "message %04x available\n", msg.message); + flush_events(); /* test mouse clicks */ ShowWindow(hwnd, SW_SHOW); + flush_events(); ShowWindow(popup, SW_SHOW); flush_events(); @@ -2685,24 +2687,32 @@ static void test_mouse_input(HWND hwnd) mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); ok(PeekMessageA(&msg, 0, 0, 0, 0), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, 0), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, 0), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONDBLCLK, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONDBLCLK, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONDBLCLK, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONDBLCLK, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, 0), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ret = PeekMessageA(&msg, 0, 0, 0, PM_REMOVE); ok(!ret, "message %04x available\n", msg.message); @@ -2716,18 +2726,22 @@ static void test_mouse_input(HWND hwnd) mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == hwnd && msg.message == WM_LBUTTONDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == hwnd && msg.message == WM_LBUTTONDOWN, "hwnd %p/%p message %04x\n", + msg.hwnd, hwnd, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == hwnd && msg.message == WM_LBUTTONUP, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == hwnd && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n", + msg.hwnd, hwnd, msg.message); test_lbuttondown_flag = TRUE; SendMessageA(hwnd, WM_COMMAND, (WPARAM)popup, 0); test_lbuttondown_flag = FALSE; ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONDOWN, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); - ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p message %04x\n", msg.hwnd, msg.message); + ok(msg.hwnd == popup && msg.message == WM_LBUTTONUP, "hwnd %p/%p message %04x\n", + msg.hwnd, popup, msg.message); ok(PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "no message available\n"); /* Test WM_MOUSEACTIVATE */ @@ -3240,6 +3254,7 @@ static void test_scrolldc( HWND parent) 25, 50, 100, 100, parent, 0, 0, NULL); ShowWindow( parent, SW_SHOW); UpdateWindow( parent); + flush_events(); GetClientRect( hwnd1, &rc); hdc = GetDC( hwnd1); /* paint the upper half of the window black */
1
0
0
0
Alexandre Julliard : user32: Hide the icon title when hiding a window.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: c0e10d2b9704387e1fafb4195ff8158211ae499b URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c0e10d2b9704387e1fafb4195…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Feb 28 16:17:08 2008 +0100 user32: Hide the icon title when hiding a window. --- dlls/user32/winpos.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c index cc6309a..c60e75d 100644 --- a/dlls/user32/winpos.c +++ b/dlls/user32/winpos.c @@ -721,10 +721,9 @@ BOOL WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow ) TRACE("%p %i\n", hwnd, (bShow != 0) ); - if( !title ) - lpPos->hwndIconTitle = title = ICONTITLE_Create( hwnd ); if( bShow ) { + if (!title) lpPos->hwndIconTitle = title = ICONTITLE_Create( hwnd ); if (!IsWindowVisible(title)) { SendMessageW( title, WM_SHOWWINDOW, TRUE, 0 ); @@ -732,7 +731,7 @@ BOOL WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow ) SWP_NOACTIVATE | SWP_NOZORDER | SWP_SHOWWINDOW ); } } - else ShowWindow( title, SW_HIDE ); + else if (title) ShowWindow( title, SW_HIDE ); } return FALSE; } @@ -1130,6 +1129,8 @@ static BOOL show_window( HWND hwnd, INT cmd ) { HWND hFocus; + WINPOS_ShowIconTitle( hwnd, FALSE ); + /* FIXME: This will cause the window to be activated irrespective * of whether it is owned by the same thread. Has to be done * asynchronously.
1
0
0
0
Alexandre Julliard : user32: Moved the ShowWindow implementation from winex11 back to user32.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: 936ab3a64441656daa1320825d0eb4e89c4f59e6 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=936ab3a64441656daa1320825…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Feb 28 16:09:39 2008 +0100 user32: Moved the ShowWindow implementation from winex11 back to user32. --- dlls/user32/driver.c | 13 -- dlls/user32/user32.spec | 1 - dlls/user32/user_private.h | 1 - dlls/user32/win.c | 20 ++- dlls/user32/winpos.c | 321 ++++++++++++++++++++++++++++++++++++- dlls/winex11.drv/window.c | 21 --- dlls/winex11.drv/winex11.drv.spec | 1 - dlls/winex11.drv/winpos.c | 314 ------------------------------------ include/win.h | 4 +- 9 files changed, 339 insertions(+), 357 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=936ab3a64441656daa132…
1
0
0
0
Alexandre Julliard : winex11: Merge the iconification support into the SetWindowPos driver backend.
by Alexandre Julliard
29 Feb '08
29 Feb '08
Module: wine Branch: master Commit: 63dd1a02ca401a7f5045c58317984fe2ee3bb5cb URL:
http://source.winehq.org/git/wine.git/?a=commit;h=63dd1a02ca401a7f5045c5831…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Feb 28 17:01:10 2008 +0100 winex11: Merge the iconification support into the SetWindowPos driver backend. --- dlls/winex11.drv/window.c | 42 ------------------------------------------ dlls/winex11.drv/winpos.c | 39 +++++++++++++++++++++++++-------------- dlls/winex11.drv/x11drv.h | 2 +- 3 files changed, 26 insertions(+), 57 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 59602fc..2b04ec0 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -981,48 +981,6 @@ void X11DRV_set_wm_hints( Display *display, struct x11drv_win_data *data ) /*********************************************************************** - * X11DRV_set_iconic_state - * - * Set the X11 iconic state according to the window style. - */ -void X11DRV_set_iconic_state( HWND hwnd ) -{ - Display *display = thread_display(); - struct x11drv_win_data *data; - RECT rect; - DWORD style = GetWindowLongW( hwnd, GWL_STYLE ); - BOOL iconic = (style & WS_MINIMIZE) != 0; - - if (!(data = X11DRV_get_win_data( hwnd ))) return; - if (!data->whole_window) return; - - GetWindowRect( hwnd, &rect ); - - wine_tsx11_lock(); - - if (data->wm_hints) - { - data->wm_hints->flags |= StateHint | IconPositionHint; - data->wm_hints->initial_state = iconic ? IconicState : NormalState; - data->wm_hints->icon_x = rect.left - virtual_screen_rect.left; - data->wm_hints->icon_y = rect.top - virtual_screen_rect.top; - XSetWMHints( display, data->whole_window, data->wm_hints ); - } - - if (data->mapped) - { - if (iconic) - XIconifyWindow( display, data->whole_window, DefaultScreen(display) ); - else - if (X11DRV_is_window_rect_mapped( &rect )) - XMapWindow( display, data->whole_window ); - } - - wine_tsx11_unlock(); -} - - -/*********************************************************************** * X11DRV_window_to_X_rect * * Convert a rect from client to X window coordinates diff --git a/dlls/winex11.drv/winpos.c b/dlls/winex11.drv/winpos.c index 3e04810..7c28a8d 100644 --- a/dlls/winex11.drv/winpos.c +++ b/dlls/winex11.drv/winpos.c @@ -159,6 +159,7 @@ void X11DRV_SetWindowStyle( HWND hwnd, DWORD old_style ) XMapWindow( display, data->whole_window ); wine_tsx11_unlock(); data->mapped = TRUE; + data->iconic = (new_style & WS_MINIMIZE) != 0; } } } @@ -354,8 +355,8 @@ void X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, UINT swp_flags, SERVER_END_REQ; } - TRACE( "win %p window %s client %s style %08x\n", - hwnd, wine_dbgstr_rect(rectWindow), wine_dbgstr_rect(rectClient), new_style ); + TRACE( "win %p window %s client %s style %08x flags %08x\n", + hwnd, wine_dbgstr_rect(rectWindow), wine_dbgstr_rect(rectClient), new_style, swp_flags ); if (!IsRectEmpty( &valid_rects[0] )) { @@ -395,12 +396,14 @@ void X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, UINT swp_flags, data->net_wm_state = 0; } - X11DRV_sync_window_position( display, data, swp_flags, &old_client_rect, &old_whole_rect ); + /* don't change position if we are about to minimize a managed window */ + if (!(data->managed && (swp_flags & SWP_STATECHANGED) && (new_style & WS_MINIMIZE))) + X11DRV_sync_window_position( display, data, swp_flags, &old_client_rect, &old_whole_rect ); - if ((new_style & WS_VISIBLE) && !(new_style & WS_MINIMIZE) && - X11DRV_is_window_rect_mapped( rectWindow )) + if ((new_style & WS_VISIBLE) && + ((new_style & WS_MINIMIZE) || X11DRV_is_window_rect_mapped( rectWindow ))) { - if (!data->mapped || (swp_flags & SWP_FRAMECHANGED)) + if (!data->mapped || (swp_flags & (SWP_FRAMECHANGED|SWP_STATECHANGED))) X11DRV_set_wm_hints( display, data ); if (!data->mapped) @@ -413,6 +416,18 @@ void X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, UINT swp_flags, XFlush( display ); wine_tsx11_unlock(); data->mapped = TRUE; + data->iconic = (new_style & WS_MINIMIZE) != 0; + } + else if ((swp_flags & SWP_STATECHANGED) && (!data->iconic != !(new_style & WS_MINIMIZE))) + { + data->iconic = (new_style & WS_MINIMIZE) != 0; + TRACE( "changing win %p iconic state to %u\n", data->hwnd, data->iconic ); + wine_tsx11_lock(); + if (data->iconic) + XIconifyWindow( display, data->whole_window, DefaultScreen(display) ); + else if (X11DRV_is_window_rect_mapped( rectWindow )) + XMapWindow( display, data->whole_window ); + wine_tsx11_unlock(); } update_net_wm_states( display, data ); } @@ -528,8 +543,6 @@ UINT WINPOS_MinMaximize( HWND hwnd, UINT cmd, LPRECT rect ) old_style = WIN_SetStyle( hwnd, WS_MINIMIZE, WS_MAXIMIZE ); - X11DRV_set_iconic_state( hwnd ); - wpl.ptMinPosition = WINPOS_FindIconPos( hwnd, wpl.ptMinPosition ); if (!(old_style & WS_MINIMIZE)) swpFlags |= SWP_STATECHANGED; @@ -545,11 +558,8 @@ UINT WINPOS_MinMaximize( HWND hwnd, UINT cmd, LPRECT rect ) WINPOS_GetMinMaxInfo( hwnd, &size, &wpl.ptMaxPosition, NULL, NULL ); old_style = WIN_SetStyle( hwnd, WS_MAXIMIZE, WS_MINIMIZE ); - if (old_style & WS_MINIMIZE) - { - WINPOS_ShowIconTitle( hwnd, FALSE ); - X11DRV_set_iconic_state( hwnd ); - } + if (old_style & WS_MINIMIZE) WINPOS_ShowIconTitle( hwnd, FALSE ); + if (!(old_style & WS_MAXIMIZE)) swpFlags |= SWP_STATECHANGED; SetRect( rect, wpl.ptMaxPosition.x, wpl.ptMaxPosition.y, size.x, size.y ); break; @@ -563,7 +573,6 @@ UINT WINPOS_MinMaximize( HWND hwnd, UINT cmd, LPRECT rect ) BOOL restore_max; WINPOS_ShowIconTitle( hwnd, FALSE ); - X11DRV_set_iconic_state( hwnd ); if (!(wndPtr = WIN_GetPtr( hwnd )) || wndPtr == WND_OTHER_PROCESS) return 0; restore_max = (wndPtr->flags & WIN_RESTORE_MAX) != 0; @@ -764,6 +773,7 @@ void X11DRV_MapNotify( HWND hwnd, XEvent *event ) TRACE( "win %p/%lx ignoring since state=%d\n", hwnd, data->whole_window, state ); return; } + data->iconic = FALSE; if ((GetWindowLongW( hwnd, GWL_STYLE ) & (WS_VISIBLE|WS_MINIMIZE)) == (WS_VISIBLE|WS_MINIMIZE)) { @@ -818,6 +828,7 @@ void X11DRV_UnmapNotify( HWND hwnd, XEvent *event ) TRACE( "win %p/%lx ignoring since state=%d\n", hwnd, data->whole_window, state ); return; } + data->iconic = TRUE; if (!(win = WIN_GetPtr( hwnd ))) return; diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index 20590b3..6ab9f38 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -670,6 +670,7 @@ struct x11drv_win_data XWMHints *wm_hints; /* window manager hints */ BOOL managed : 1; /* is window managed? */ BOOL mapped : 1; /* is window mapped? (in either normal or iconic state) */ + BOOL iconic : 1; /* is window in iconic state? */ int wm_state; /* current value of the WM_STATE property */ DWORD net_wm_state; /* bit mask of active x11drv_net_wm_state values */ unsigned int lock_changes; /* lock count for X11 change requests */ @@ -717,7 +718,6 @@ typedef int (*x11drv_error_callback)( Display *display, XErrorEvent *event, void extern void X11DRV_expect_error( Display *display, x11drv_error_callback callback, void *arg ); extern int X11DRV_check_error(void); extern BOOL is_window_managed( HWND hwnd, UINT swp_flags, const RECT *window_rect ); -extern void X11DRV_set_iconic_state( HWND hwnd ); extern void X11DRV_window_to_X_rect( struct x11drv_win_data *data, RECT *rect ); extern void X11DRV_X_to_window_rect( struct x11drv_win_data *data, RECT *rect ); extern void X11DRV_sync_window_style( Display *display, struct x11drv_win_data *data );
1
0
0
0
Dmitry Timoshkov : winex11: Add a workaround for Metacity being too strict and disabling fullscreen support for not resizable windows .
by Alexandre Julliard
28 Feb '08
28 Feb '08
Module: wine Branch: master Commit: cfcacdf554b90da7e28583d4f05c2de533242de7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=cfcacdf554b90da7e28583d4f…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Thu Feb 28 20:04:49 2008 +0800 winex11: Add a workaround for Metacity being too strict and disabling fullscreen support for not resizable windows. --- dlls/winex11.drv/window.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 71edc60..59602fc 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -799,11 +799,18 @@ static void set_size_hints( Display *display, struct x11drv_win_data *data, DWOR if ( !(style & WS_THICKFRAME) ) { - size_hints->max_width = data->whole_rect.right - data->whole_rect.left; - size_hints->max_height = data->whole_rect.bottom - data->whole_rect.top; - size_hints->min_width = size_hints->max_width; - size_hints->min_height = size_hints->max_height; - size_hints->flags |= PMinSize | PMaxSize; + /* If we restrict window resizing Metacity decides that it should + * disable fullscreen support for this window as well. + */ + if (!(data->whole_rect.left <= 0 && data->whole_rect.right >= screen_width && + data->whole_rect.top <= 0 && data->whole_rect.bottom >= screen_height)) + { + size_hints->max_width = data->whole_rect.right - data->whole_rect.left; + size_hints->max_height = data->whole_rect.bottom - data->whole_rect.top; + size_hints->min_width = size_hints->max_width; + size_hints->min_height = size_hints->max_height; + size_hints->flags |= PMinSize | PMaxSize; + } } XSetWMNormalHints( display, data->whole_window, size_hints ); XFree( size_hints );
1
0
0
0
Hans Leidekker : mscms: Avoid closing a random file when destroying a memory based profile.
by Alexandre Julliard
28 Feb '08
28 Feb '08
Module: wine Branch: master Commit: d284fd972f825f704a8bed77d7013e0a0e6bdcca URL:
http://source.winehq.org/git/wine.git/?a=commit;h=d284fd972f825f704a8bed77d…
Author: Hans Leidekker <hans(a)it.vu.nl> Date: Thu Feb 28 11:21:52 2008 +0100 mscms: Avoid closing a random file when destroying a memory based profile. --- dlls/mscms/handle.c | 6 +++--- dlls/mscms/profile.c | 32 ++++++++++++++++++++------------ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/dlls/mscms/handle.c b/dlls/mscms/handle.c index fe474f3..09c2cc6 100644 --- a/dlls/mscms/handle.c +++ b/dlls/mscms/handle.c @@ -44,9 +44,9 @@ static CRITICAL_SECTION MSCMS_handle_cs = { &MSCMS_handle_cs_debug, -1, 0, 0, 0, /* A simple structure to tie together a pointer to an icc profile, an lcms * color profile handle and a Windows file handle. Windows color profile * handles are built from indexes into an array of these structures. If - * the profile is memory based the file handle field is NULL. The 'access' - * field records the access parameter supplied to an OpenColorProfile() - * call, i.e. PROFILE_READ or PROFILE_READWRITE. + * the profile is memory based the file handle field is set to + * INVALID_HANDLE_VALUE. The 'access' field records the access parameter + * supplied to an OpenColorProfile() call, i.e. PROFILE_READ or PROFILE_READWRITE. */ struct profile diff --git a/dlls/mscms/profile.c b/dlls/mscms/profile.c index 8f4931a..9122ecc 100644 --- a/dlls/mscms/profile.c +++ b/dlls/mscms/profile.c @@ -1370,14 +1370,14 @@ HPROFILE WINAPI OpenColorProfileW( PPROFILE profile, DWORD access, DWORD sharing #ifdef HAVE_LCMS cmsHPROFILE cmsprofile = NULL; icProfile *iccprofile = NULL; - HANDLE handle = NULL; + HANDLE handle = INVALID_HANDLE_VALUE; DWORD size; TRACE( "( %p, 0x%08x, 0x%08x, 0x%08x )\n", profile, access, sharing, creation ); if (!profile || !profile->pProfileData) return NULL; - if (profile->dwType & PROFILE_MEMBUFFER) + if (profile->dwType == PROFILE_MEMBUFFER) { /* FIXME: access flags not implemented for memory based profiles */ @@ -1386,8 +1386,7 @@ HPROFILE WINAPI OpenColorProfileW( PPROFILE profile, DWORD access, DWORD sharing cmsprofile = cmsOpenProfileFromMem( iccprofile, size ); } - - if (profile->dwType & PROFILE_FILENAME) + else if (profile->dwType == PROFILE_FILENAME) { DWORD read, flags = 0; @@ -1432,6 +1431,11 @@ HPROFILE WINAPI OpenColorProfileW( PPROFILE profile, DWORD access, DWORD sharing cmsprofile = cmsOpenProfileFromMem( iccprofile, size ); } + else + { + ERR( "Invalid profile type %u\n", profile->dwType ); + return NULL; + } if (cmsprofile) return MSCMS_create_hprofile_handle( handle, iccprofile, cmsprofile, access ); @@ -1462,19 +1466,23 @@ BOOL WINAPI CloseColorProfile( HPROFILE profile ) TRACE( "( %p )\n", profile ); - if (file && (access & PROFILE_READWRITE)) + if (file != INVALID_HANDLE_VALUE) { - DWORD written, size = MSCMS_get_profile_size( iccprofile ); + if (access & PROFILE_READWRITE) + { + DWORD written, size = MSCMS_get_profile_size( iccprofile ); - if (SetFilePointer( file, 0, NULL, FILE_BEGIN ) || - !WriteFile( file, iccprofile, size, &written, NULL ) || written != size) - ERR( "Unable to write color profile\n" ); + if (SetFilePointer( file, 0, NULL, FILE_BEGIN ) || + !WriteFile( file, iccprofile, size, &written, NULL ) || written != size) + { + ERR( "Unable to write color profile\n" ); + } + } + CloseHandle( file ); } - ret = cmsCloseProfile( MSCMS_hprofile2cmsprofile( profile ) ); - HeapFree( GetProcessHeap(), 0, MSCMS_hprofile2iccprofile( profile ) ); + HeapFree( GetProcessHeap(), 0, iccprofile ); - CloseHandle( MSCMS_hprofile2handle( profile ) ); MSCMS_destroy_hprofile_handle( profile ); #endif /* HAVE_LCMS */
1
0
0
0
Jacek Caban : mshtml: Added nsIURI:: Equals implementation on URIs without necko interface associated.
by Alexandre Julliard
28 Feb '08
28 Feb '08
Module: wine Branch: master Commit: 54e6aa91af3ae5288857a80203a7fb6ca5e4972d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=54e6aa91af3ae5288857a8020…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Feb 28 12:41:40 2008 +0100 mshtml: Added nsIURI::Equals implementation on URIs without necko interface associated. --- dlls/mshtml/nsio.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index ca269fc..f684f2a 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -1497,14 +1497,27 @@ static nsresult NSAPI nsURI_SetPath(nsIWineURI *iface, const nsACString *aPath) static nsresult NSAPI nsURI_Equals(nsIWineURI *iface, nsIURI *other, PRBool *_retval) { nsURI *This = NSURI_THIS(iface); + nsIWineURI *wine_uri; + LPCWSTR other_url = NULL; + nsresult nsres; TRACE("(%p)->(%p %p)\n", This, other, _retval); if(This->uri) return nsIURI_Equals(This->uri, other, _retval); - FIXME("default action not implemented\n"); - return NS_ERROR_NOT_IMPLEMENTED; + nsres = nsIURI_QueryInterface(other, &IID_nsIWineURI, (void**)&wine_uri); + if(NS_FAILED(nsres)) { + TRACE("Could not get nsIWineURI interface\n"); + *_retval = FALSE; + return NS_OK; + } + + nsIWineURI_GetWineURL(wine_uri, &other_url); + *_retval = !UrlCompareW(This->wine_url, other_url, TRUE); + nsIWineURI_Release(wine_uri); + + return NS_OK; } static nsresult NSAPI nsURI_SchemeIs(nsIWineURI *iface, const char *scheme, PRBool *_retval)
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
...
100
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Results per page:
10
25
50
100
200