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
March 2011
----- 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
2 participants
849 discussions
Start a n
N
ew thread
Frédéric Delanoy : po: Update French translation.
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: e7dfa0d5d7f5c0ed22141dbc81a240d91976aae7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=e7dfa0d5d7f5c0ed22141dbc8…
Author: Frédéric Delanoy <frederic.delanoy(a)gmail.com> Date: Wed Mar 16 20:26:41 2011 +0100 po: Update French translation. --- po/fr.po | 19 +------------------ 1 files changed, 1 insertions(+), 18 deletions(-) diff --git a/po/fr.po b/po/fr.po index f6985fc..7181833 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2807,7 +2807,6 @@ msgid "Signal pending\n" msgstr "Signal déjà en attente\n" #: winerror.mc:681 -#, fuzzy msgid "Max system-wide thread count reached\n" msgstr "Nombre maximal de threads du système atteint\n" @@ -4240,7 +4239,6 @@ msgid "Private dialog index\n" msgstr "Index de fenêtre de dialogue privé\n" #: winerror.mc:2476 -#, fuzzy msgid "List box ID not found\n" msgstr "ID de liste de choix non trouvée\n" @@ -4305,7 +4303,6 @@ msgid "Hook procedure not installed\n" msgstr "Procédure accrochée pas installée\n" #: winerror.mc:2556 -#, fuzzy msgid "Invalid list box message\n" msgstr "Message de liste de choix invalide\n" @@ -4314,7 +4311,6 @@ msgid "Invalid LB_SETCOUNT sent\n" msgstr "LB_SETCOUNT invalide envoyé\n" #: winerror.mc:2566 -#, fuzzy msgid "No tab stops on this list box\n" msgstr "Aucune marque de tabulation dans cette liste de choix\n" @@ -4384,7 +4380,6 @@ msgid "No system resources\n" msgstr "Ressources système insuffisantes\n" #: winerror.mc:2651 -#, fuzzy msgid "No non-paged system resources\n" msgstr "Ressources système non paginées insuffisantes\n" @@ -4397,7 +4392,6 @@ msgid "No working set quota\n" msgstr "Quota insuffisant pour l'espace de travail\n" #: winerror.mc:2666 -#, fuzzy msgid "No page file quota\n" msgstr "Quota insuffisant pour le fichier d'échange\n" @@ -4474,7 +4468,6 @@ msgid "Unknown component\n" msgstr "Composant inconnu\n" #: winerror.mc:2761 -#, fuzzy msgid "Unknown property\n" msgstr "Propriété inconnue\n" @@ -5007,7 +5000,6 @@ msgid "Invalid printer command\n" msgstr "Commande d'imprimante invalide\n" #: winerror.mc:3431 -#, fuzzy msgid "Invalid data type\n" msgstr "Type de donnée invalide\n" @@ -5323,7 +5315,6 @@ msgid "insert disk %s" msgstr "insérez le disque %s" #: msi.rc:30 -#, fuzzy msgid "" "Windows Installer %s\n" "\n" @@ -6921,7 +6912,6 @@ msgid "An invalid parameter was passed to a system function." msgstr "Un paramètre non valide a été passé à une fonction système." #: winmm.rc:42 -#, fuzzy msgid "" "The specified format is not supported or cannot be translated. Use the " "Capabilities function to determine the supported formats." @@ -7128,7 +7118,6 @@ msgstr "" "commande." #: winmm.rc:77 -#, fuzzy msgid "" "Errors occurred in more than one device. Specify each command and device " "separately to determine which devices caused the error." @@ -7615,11 +7604,9 @@ msgstr "Problème de déréférencement d'alias" msgid "Inappropriate Authentication" msgstr "Authentification inappropriée" -# informations d'authentification? d'identification? #: wldap32.rc:76 -#, fuzzy msgid "Invalid Credentials" -msgstr "Autorisations invalides" +msgstr "Informations d'authentification invalides" #: wldap32.rc:77 msgid "Insufficient Rights" @@ -8083,7 +8070,6 @@ msgstr "" "REN <fichier> est la version courte de RENAME. Elle renomme un fichier.\n" #: cmd.rc:158 -#, fuzzy msgid "RENAME <filename> renames a file.\n" msgstr "RENAME <fichier> renomme un fichier.\n" @@ -8185,7 +8171,6 @@ msgstr "" "L'indicateur de vérification n'a pas de fonction dans Wine.\n" #: cmd.rc:204 -#, fuzzy msgid "VER displays the version of cmd you are running.\n" msgstr "VER affiche la version de cmd utilisée.\n" @@ -10487,7 +10472,6 @@ msgid "CD-ROM" msgstr "CD-ROM" #: winecfg.rc:86 -#, fuzzy msgid "" "You cannot add any more drives.\n" "\n" @@ -11405,7 +11389,6 @@ msgid "&System\tCtrl+1" msgstr "&Système\tCtrl+1" #: wordpad.rc:88 -#, fuzzy msgid "&Pale yellow\tCtrl+2" msgstr "&Jaune pâle\tCtrl+2"
1
0
0
0
Jacek Caban : wininet: Ensure that we have data to report before sending INTERNET_STATUS_REQUEST_COMPLETE in HTTP_HttpEndRequestW .
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 685daf2006f8b6619206e33b28a65df4ec414386 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=685daf2006f8b6619206e33b2…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Mar 17 01:01:49 2011 +0100 wininet: Ensure that we have data to report before sending INTERNET_STATUS_REQUEST_COMPLETE in HTTP_HttpEndRequestW. --- dlls/wininet/http.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index 7e27531..9444f08 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -4333,7 +4333,6 @@ static DWORD HTTP_HttpEndRequestW(http_request_t *request, DWORD dwFlags, DWORD_ { INT responseLen; DWORD dwBufferSize; - INTERNET_ASYNC_RESULT iar; DWORD res = ERROR_SUCCESS; INTERNET_SendCallback(&request->hdr, request->hdr.dwContext, @@ -4382,12 +4381,16 @@ static DWORD HTTP_HttpEndRequestW(http_request_t *request, DWORD dwFlags, DWORD_ } } - iar.dwResult = (res==ERROR_SUCCESS ? (DWORD_PTR)request->hdr.hInternet : 0); - iar.dwError = res; + if (res == ERROR_SUCCESS) { + HTTP_ReceiveRequestData(request, TRUE); + }else { + INTERNET_ASYNC_RESULT iar = {0, res}; + + INTERNET_SendCallback(&request->hdr, request->hdr.dwContext, + INTERNET_STATUS_REQUEST_COMPLETE, &iar, + sizeof(INTERNET_ASYNC_RESULT)); + } - INTERNET_SendCallback(&request->hdr, request->hdr.dwContext, - INTERNET_STATUS_REQUEST_COMPLETE, &iar, - sizeof(INTERNET_ASYNC_RESULT)); return res; }
1
0
0
0
Jacek Caban : wininet: Decompress gzip data in refill_buffer to ensure that we have the data to report .
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 2bb3f4fa75c91eb89f9e361c2d99baa9a31d39dc URL:
http://source.winehq.org/git/wine.git/?a=commit;h=2bb3f4fa75c91eb89f9e361c2…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Mar 17 01:01:19 2011 +0100 wininet: Decompress gzip data in refill_buffer to ensure that we have the data to report. --- dlls/wininet/http.c | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index b027af9..7e27531 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -2062,7 +2062,7 @@ static BOOL end_of_read_data( http_request_t *req ) } /* fetch some more data into the read buffer (the read section must be held) */ -static DWORD refill_buffer( http_request_t *req ) +static DWORD refill_read_buffer( http_request_t *req ) { int len = sizeof(req->read_buf); DWORD res; @@ -2092,7 +2092,7 @@ static DWORD read_gzip_data(http_request_t *req, BYTE *buf, int size, BOOL sync, while(read < size && !req->gzip_stream->end_of_data) { if(!req->read_size) { - if(!sync || refill_buffer(req) != ERROR_SUCCESS) + if((!sync && read) || (ret = refill_read_buffer(req)) != ERROR_SUCCESS) break; } @@ -2126,13 +2126,13 @@ static DWORD read_gzip_data(http_request_t *req, BYTE *buf, int size, BOOL sync, return ret; } -static void refill_gzip_buffer(http_request_t *req) +static DWORD refill_gzip_buffer(http_request_t *req) { DWORD res; int len; - if(!req->gzip_stream || !req->read_size || req->gzip_stream->buf_size == sizeof(req->gzip_stream->buf)) - return; + if(req->gzip_stream->buf_size == sizeof(req->gzip_stream->buf)) + return ERROR_SUCCESS; if(req->gzip_stream->buf_pos) { if(req->gzip_stream->buf_size) @@ -2144,15 +2144,20 @@ static void refill_gzip_buffer(http_request_t *req) sizeof(req->gzip_stream->buf) - req->gzip_stream->buf_size, FALSE, &len); if(res == ERROR_SUCCESS) req->gzip_stream->buf_size += len; + + return res; +} + +static DWORD refill_buffer( http_request_t *req ) +{ + return req->gzip_stream ? refill_gzip_buffer(req) : refill_read_buffer(req); } /* return the size of data available to be read immediately (the read section must be held) */ static DWORD get_avail_data( http_request_t *req ) { - if (req->gzip_stream) { - refill_gzip_buffer(req); + if (req->gzip_stream) return req->gzip_stream->buf_size; - } if (req->read_chunked && (req->contentLength == ~0u || req->contentLength == req->contentRead)) return 0; return min( req->read_size, req->contentLength - req->contentRead );
1
0
0
0
Jacek Caban : mshtml: Correctly set NULL event.
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 48aadd44aefda8bf4e87607787ac189b86d7bc5b URL:
http://source.winehq.org/git/wine.git/?a=commit;h=48aadd44aefda8bf4e8760778…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Mar 16 22:01:15 2011 +0100 mshtml: Correctly set NULL event. --- dlls/mshtml/htmlevent.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index fc146d6..d1430cd 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -982,8 +982,10 @@ void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode return; event_obj = create_event(node, eid, nsevent); + doc->basedoc.window->event = &event_obj->IHTMLEventObj_iface; + }else { + doc->basedoc.window->event = NULL; } - doc->basedoc.window->event = &event_obj->IHTMLEventObj_iface; nsIDOMNode_GetNodeType(target, &node_type); nsnode = target;
1
0
0
0
Vincent Povirk : gdiplus: Remove the gdi32 line gradient drawing code.
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 504b7c34d6850714578280f1c4c6a02310543507 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=504b7c34d6850714578280f1c…
Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Thu Mar 10 17:15:24 2011 -0600 gdiplus: Remove the gdi32 line gradient drawing code. It's unused now. --- dlls/gdiplus/graphics.c | 120 ----------------------------------------------- 1 files changed, 0 insertions(+), 120 deletions(-) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index a9f4cf3..479f26e 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -597,126 +597,6 @@ static void brush_fill_path(GpGraphics *graphics, GpBrush* brush) { switch (brush->bt) { - case BrushTypeLinearGradient: - { - GpLineGradient *line = (GpLineGradient*)brush; - RECT rc; - - SelectClipPath(graphics->hdc, RGN_AND); - if (GetClipBox(graphics->hdc, &rc) != NULLREGION) - { - GpPointF endpointsf[2]; - POINT endpointsi[2]; - POINT poly[4]; - - SelectObject(graphics->hdc, GetStockObject(NULL_PEN)); - - endpointsf[0] = line->startpoint; - endpointsf[1] = line->endpoint; - transform_and_round_points(graphics, endpointsi, endpointsf, 2); - - if (abs(endpointsi[0].x-endpointsi[1].x) > abs(endpointsi[0].y-endpointsi[1].y)) - { - /* vertical-ish gradient */ - int startx, endx; /* x co-ordinates of endpoints shifted to intersect the top of the visible rectangle */ - int startbottomx; /* x co-ordinate of start point shifted to intersect the bottom of the visible rectangle */ - int width; - COLORREF col; - HBRUSH hbrush, hprevbrush; - int leftx, rightx; /* x co-ordinates where the leftmost and rightmost gradient lines hit the top of the visible rectangle */ - int x; - int tilt; /* horizontal distance covered by a gradient line */ - - startx = roundr((rc.top - endpointsf[0].Y) * (endpointsf[1].Y - endpointsf[0].Y) / (endpointsf[0].X - endpointsf[1].X) + endpointsf[0].X); - endx = roundr((rc.top - endpointsf[1].Y) * (endpointsf[1].Y - endpointsf[0].Y) / (endpointsf[0].X - endpointsf[1].X) + endpointsf[1].X); - width = endx - startx; - startbottomx = roundr((rc.bottom - endpointsf[0].Y) * (endpointsf[1].Y - endpointsf[0].Y) / (endpointsf[0].X - endpointsf[1].X) + endpointsf[0].X); - tilt = startx - startbottomx; - - if (startx >= startbottomx) - { - leftx = rc.left; - rightx = rc.right + tilt; - } - else - { - leftx = rc.left + tilt; - rightx = rc.right; - } - - poly[0].y = rc.bottom; - poly[1].y = rc.top; - poly[2].y = rc.top; - poly[3].y = rc.bottom; - - for (x=leftx; x<=rightx; x++) - { - ARGB argb = blend_line_gradient(line, (x-startx)/(REAL)width); - col = ARGB2COLORREF(argb); - hbrush = CreateSolidBrush(col); - hprevbrush = SelectObject(graphics->hdc, hbrush); - poly[0].x = x - tilt - 1; - poly[1].x = x - 1; - poly[2].x = x; - poly[3].x = x - tilt; - Polygon(graphics->hdc, poly, 4); - SelectObject(graphics->hdc, hprevbrush); - DeleteObject(hbrush); - } - } - else if (endpointsi[0].y != endpointsi[1].y) - { - /* horizontal-ish gradient */ - int starty, endy; /* y co-ordinates of endpoints shifted to intersect the left of the visible rectangle */ - int startrighty; /* y co-ordinate of start point shifted to intersect the right of the visible rectangle */ - int height; - COLORREF col; - HBRUSH hbrush, hprevbrush; - int topy, bottomy; /* y co-ordinates where the topmost and bottommost gradient lines hit the left of the visible rectangle */ - int y; - int tilt; /* vertical distance covered by a gradient line */ - - starty = roundr((rc.left - endpointsf[0].X) * (endpointsf[0].X - endpointsf[1].X) / (endpointsf[1].Y - endpointsf[0].Y) + endpointsf[0].Y); - endy = roundr((rc.left - endpointsf[1].X) * (endpointsf[0].X - endpointsf[1].X) / (endpointsf[1].Y - endpointsf[0].Y) + endpointsf[1].Y); - height = endy - starty; - startrighty = roundr((rc.right - endpointsf[0].X) * (endpointsf[0].X - endpointsf[1].X) / (endpointsf[1].Y - endpointsf[0].Y) + endpointsf[0].Y); - tilt = starty - startrighty; - - if (starty >= startrighty) - { - topy = rc.top; - bottomy = rc.bottom + tilt; - } - else - { - topy = rc.top + tilt; - bottomy = rc.bottom; - } - - poly[0].x = rc.right; - poly[1].x = rc.left; - poly[2].x = rc.left; - poly[3].x = rc.right; - - for (y=topy; y<=bottomy; y++) - { - ARGB argb = blend_line_gradient(line, (y-starty)/(REAL)height); - col = ARGB2COLORREF(argb); - hbrush = CreateSolidBrush(col); - hprevbrush = SelectObject(graphics->hdc, hbrush); - poly[0].y = y - tilt - 1; - poly[1].y = y - 1; - poly[2].y = y; - poly[3].y = y - tilt; - Polygon(graphics->hdc, poly, 4); - SelectObject(graphics->hdc, hprevbrush); - DeleteObject(hbrush); - } - } - /* else startpoint == endpoint */ - } - break; - } case BrushTypeSolidColor: { GpSolidFill *fill = (GpSolidFill*)brush;
1
0
0
0
Vincent Povirk : gdiplus: Implement GdipFillRectangle based on GdipFillPath .
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 71eb248c3050a89c9e6291cabbaca1ae15142928 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=71eb248c3050a89c9e6291cab…
Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Thu Mar 10 16:51:48 2011 -0600 gdiplus: Implement GdipFillRectangle based on GdipFillPath. --- dlls/gdiplus/graphics.c | 79 ++++++---------------------------------- dlls/gdiplus/tests/graphics.c | 2 +- 2 files changed, 13 insertions(+), 68 deletions(-) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index b0b4d08..a9f4cf3 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -3585,9 +3585,8 @@ GpStatus WINGDIPAPI GdipFillPolygon2I(GpGraphics *graphics, GpBrush *brush, GpStatus WINGDIPAPI GdipFillRectangle(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y, REAL width, REAL height) { - INT save_state; - GpPointF ptf[4]; - POINT pti[4]; + GpStatus stat; + GpPath *path; TRACE("(%p, %p, %.2f, %.2f, %.2f, %.2f)\n", graphics, brush, x, y, width, height); @@ -3597,81 +3596,27 @@ GpStatus WINGDIPAPI GdipFillRectangle(GpGraphics *graphics, GpBrush *brush, if(graphics->busy) return ObjectBusy; - if(!graphics->hdc) - { - FIXME("graphics object has no HDC\n"); - return Ok; - } - - ptf[0].X = x; - ptf[0].Y = y; - ptf[1].X = x + width; - ptf[1].Y = y; - ptf[2].X = x + width; - ptf[2].Y = y + height; - ptf[3].X = x; - ptf[3].Y = y + height; - - save_state = SaveDC(graphics->hdc); - EndPath(graphics->hdc); - - transform_and_round_points(graphics, pti, ptf, 4); + stat = GdipCreatePath(FillModeAlternate, &path); - BeginPath(graphics->hdc); - Polygon(graphics->hdc, pti, 4); - EndPath(graphics->hdc); + if (stat == Ok) + { + stat = GdipAddPathRectangle(path, x, y, width, height); - brush_fill_path(graphics, brush); + if (stat == Ok) + stat = GdipFillPath(graphics, brush, path); - RestoreDC(graphics->hdc, save_state); + GdipDeletePath(path); + } - return Ok; + return stat; } GpStatus WINGDIPAPI GdipFillRectangleI(GpGraphics *graphics, GpBrush *brush, INT x, INT y, INT width, INT height) { - INT save_state; - GpPointF ptf[4]; - POINT pti[4]; - TRACE("(%p, %p, %d, %d, %d, %d)\n", graphics, brush, x, y, width, height); - if(!graphics || !brush) - return InvalidParameter; - - if(graphics->busy) - return ObjectBusy; - - if(!graphics->hdc) - { - FIXME("graphics object has no HDC\n"); - return Ok; - } - - ptf[0].X = x; - ptf[0].Y = y; - ptf[1].X = x + width; - ptf[1].Y = y; - ptf[2].X = x + width; - ptf[2].Y = y + height; - ptf[3].X = x; - ptf[3].Y = y + height; - - save_state = SaveDC(graphics->hdc); - EndPath(graphics->hdc); - - transform_and_round_points(graphics, pti, ptf, 4); - - BeginPath(graphics->hdc); - Polygon(graphics->hdc, pti, 4); - EndPath(graphics->hdc); - - brush_fill_path(graphics, brush); - - RestoreDC(graphics->hdc, save_state); - - return Ok; + return GdipFillRectangle(graphics, brush, x, y, width, height); } GpStatus WINGDIPAPI GdipFillRectangles(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpRectF *rects, diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c index ecdbe93..bd14ab6 100644 --- a/dlls/gdiplus/tests/graphics.c +++ b/dlls/gdiplus/tests/graphics.c @@ -2231,7 +2231,7 @@ static void test_fromMemoryBitmap(void) GdipDeleteGraphics(graphics); /* drawing writes to the memory provided */ - todo_wine expect(0x68, bits[10]); + expect(0x68, bits[10]); status = GdipGetImageGraphicsContext((GpImage*)bitmap, &graphics); expect(Ok, status);
1
0
0
0
Vincent Povirk : gdiplus: Use GdipFillPath to implement GdipFillPolygonI.
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 5190f8a5f1c41b10a1b7d1d0837cf78cebd41862 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=5190f8a5f1c41b10a1b7d1d08…
Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Thu Mar 10 16:45:41 2011 -0600 gdiplus: Use GdipFillPath to implement GdipFillPolygonI. --- dlls/gdiplus/graphics.c | 47 ++++++++++------------------------------------- 1 files changed, 10 insertions(+), 37 deletions(-) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index f2ebfba..b0b4d08 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -3540,10 +3540,8 @@ GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics *graphics, GpBrush *brush, GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPoint *points, INT count, GpFillMode fillMode) { - INT save_state, i; - GpPointF *ptf = NULL; - POINT *pti = NULL; - GpStatus retval = Ok; + GpStatus stat; + GpPath *path; TRACE("(%p, %p, %p, %d, %d)\n", graphics, brush, points, count, fillMode); @@ -3553,44 +3551,19 @@ GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics *graphics, GpBrush *brush, if(graphics->busy) return ObjectBusy; - if(!graphics->hdc) + stat = GdipCreatePath(fillMode, &path); + + if (stat == Ok) { - FIXME("graphics object has no HDC\n"); - return Ok; - } + stat = GdipAddPathPolygonI(path, points, count); - ptf = GdipAlloc(count * sizeof(GpPointF)); - pti = GdipAlloc(count * sizeof(POINT)); - if(!ptf || !pti){ - retval = OutOfMemory; - goto end; - } + if (stat == Ok) + stat = GdipFillPath(graphics, brush, path); - for(i = 0; i < count; i ++){ - ptf[i].X = (REAL) points[i].X; - ptf[i].Y = (REAL) points[i].Y; + GdipDeletePath(path); } - save_state = SaveDC(graphics->hdc); - EndPath(graphics->hdc); - SetPolyFillMode(graphics->hdc, (fillMode == FillModeAlternate ? ALTERNATE - : WINDING)); - - transform_and_round_points(graphics, pti, ptf, count); - - BeginPath(graphics->hdc); - Polygon(graphics->hdc, pti, count); - EndPath(graphics->hdc); - - brush_fill_path(graphics, brush); - - RestoreDC(graphics->hdc, save_state); - -end: - GdipFree(ptf); - GdipFree(pti); - - return retval; + return stat; } GpStatus WINGDIPAPI GdipFillPolygon2(GpGraphics *graphics, GpBrush *brush,
1
0
0
0
Vincent Povirk : gdiplus: Use GdipFillPath to implement GdipFillPolygon.
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 86d55d43c5f49ac5e87196cb1d4153626e292e18 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=86d55d43c5f49ac5e87196cb1…
Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Thu Mar 10 16:42:30 2011 -0600 gdiplus: Use GdipFillPath to implement GdipFillPolygon. --- dlls/gdiplus/graphics.c | 46 +++++++++++----------------------------------- 1 files changed, 11 insertions(+), 35 deletions(-) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 262828b..f2ebfba 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -3511,10 +3511,8 @@ GpStatus WINGDIPAPI GdipFillPieI(GpGraphics *graphics, GpBrush *brush, INT x, GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPointF *points, INT count, GpFillMode fillMode) { - INT save_state; - GpPointF *ptf = NULL; - POINT *pti = NULL; - GpStatus retval = Ok; + GpStatus stat; + GpPath *path; TRACE("(%p, %p, %p, %d, %d)\n", graphics, brush, points, count, fillMode); @@ -3524,41 +3522,19 @@ GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics *graphics, GpBrush *brush, if(graphics->busy) return ObjectBusy; - if(!graphics->hdc) - { - FIXME("graphics object has no HDC\n"); - return Ok; - } - - ptf = GdipAlloc(count * sizeof(GpPointF)); - pti = GdipAlloc(count * sizeof(POINT)); - if(!ptf || !pti){ - retval = OutOfMemory; - goto end; - } - - memcpy(ptf, points, count * sizeof(GpPointF)); + stat = GdipCreatePath(fillMode, &path); - save_state = SaveDC(graphics->hdc); - EndPath(graphics->hdc); - SetPolyFillMode(graphics->hdc, (fillMode == FillModeAlternate ? ALTERNATE - : WINDING)); - - transform_and_round_points(graphics, pti, ptf, count); - - BeginPath(graphics->hdc); - Polygon(graphics->hdc, pti, count); - EndPath(graphics->hdc); - - brush_fill_path(graphics, brush); + if (stat == Ok) + { + stat = GdipAddPathPolygon(path, points, count); - RestoreDC(graphics->hdc, save_state); + if (stat == Ok) + stat = GdipFillPath(graphics, brush, path); -end: - GdipFree(ptf); - GdipFree(pti); + GdipDeletePath(path); + } - return retval; + return stat; } GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics *graphics, GpBrush *brush,
1
0
0
0
Henri Verbeet : wined3d: Don't use surface_from_resource() to retrieve volumes.
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: b17d64923e4a1ecb60970319c4ad6bbb4f32a8c4 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=b17d64923e4a1ecb60970319c…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Wed Mar 16 18:58:04 2011 +0100 wined3d: Don't use surface_from_resource() to retrieve volumes. This happened to work because the field offsets are the same. --- dlls/wined3d/device.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 972aaa5..199aba9 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -5179,9 +5179,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_UpdateTexture(IWineD3DDevice *iface, for (i = 0; i < level_count; ++i) { - src_volume = (IWineD3DVolume *)surface_from_resource(basetexture_get_sub_resource( + src_volume = (IWineD3DVolume *)volume_from_resource(basetexture_get_sub_resource( (IWineD3DBaseTextureImpl *)src_texture, i)); - dst_volume = (IWineD3DVolume *)surface_from_resource(basetexture_get_sub_resource( + dst_volume = (IWineD3DVolume *)volume_from_resource(basetexture_get_sub_resource( (IWineD3DBaseTextureImpl *)dst_texture, i)); hr = IWineD3DDeviceImpl_UpdateVolume(iface, src_volume, dst_volume); if (FAILED(hr))
1
0
0
0
Henri Verbeet : wined3d: Get rid of IWineD3DBaseTexture::IsCondNP2().
by Alexandre Julliard
17 Mar '11
17 Mar '11
Module: wine Branch: master Commit: 09b4ed2e75d7f777be0052b3a6bad24069f65e4a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=09b4ed2e75d7f777be0052b3a…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Wed Mar 16 18:58:03 2011 +0100 wined3d: Get rid of IWineD3DBaseTexture::IsCondNP2(). --- dlls/wined3d/basetexture.c | 2 +- dlls/wined3d/cubetexture.c | 8 -------- dlls/wined3d/texture.c | 11 +---------- dlls/wined3d/volumetexture.c | 8 -------- include/wine/wined3d.idl | 2 -- 5 files changed, 2 insertions(+), 29 deletions(-) diff --git a/dlls/wined3d/basetexture.c b/dlls/wined3d/basetexture.c index 26e9a70..01652ab 100644 --- a/dlls/wined3d/basetexture.c +++ b/dlls/wined3d/basetexture.c @@ -371,7 +371,7 @@ void basetexture_apply_state_changes(IWineD3DBaseTextureImpl *texture, const DWORD samplerStates[WINED3D_HIGHEST_SAMPLER_STATE + 1], const struct wined3d_gl_info *gl_info) { - BOOL cond_np2 = IWineD3DBaseTexture_IsCondNP2((IWineD3DBaseTexture *)texture); + BOOL cond_np2 = texture->baseTexture.cond_np2; GLenum textureDimensions = texture->baseTexture.target; DWORD state; DWORD aniso; diff --git a/dlls/wined3d/cubetexture.c b/dlls/wined3d/cubetexture.c index 9a27f5b..aed3674 100644 --- a/dlls/wined3d/cubetexture.c +++ b/dlls/wined3d/cubetexture.c @@ -319,13 +319,6 @@ static void WINAPI IWineD3DCubeTextureImpl_GenerateMipSubLevels(IWineD3DCubeText basetexture_generate_mipmaps((IWineD3DBaseTextureImpl *)iface); } -static BOOL WINAPI IWineD3DCubeTextureImpl_IsCondNP2(IWineD3DCubeTexture *iface) -{ - TRACE("iface %p.\n", iface); - - return FALSE; -} - static struct wined3d_resource * WINAPI IWineD3DCubeTextureImpl_GetSubResource(IWineD3DCubeTexture *iface, UINT sub_resource_idx) { @@ -378,7 +371,6 @@ static const IWineD3DCubeTextureVtbl IWineD3DCubeTexture_Vtbl = IWineD3DCubeTextureImpl_SetAutoGenFilterType, IWineD3DCubeTextureImpl_GetAutoGenFilterType, IWineD3DCubeTextureImpl_GenerateMipSubLevels, - IWineD3DCubeTextureImpl_IsCondNP2, IWineD3DCubeTextureImpl_GetSubResource, IWineD3DCubeTextureImpl_AddDirtyRegion, }; diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index 4bc018c..3eb3c71 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -57,7 +57,7 @@ static HRESULT texture_bind(IWineD3DBaseTextureImpl *texture, * state. The same applies to filtering. Even if the texture has only * one mip level, the default LINEAR_MIPMAP_LINEAR filter causes a SW * fallback on macos. */ - if (IWineD3DBaseTexture_IsCondNP2((IWineD3DBaseTexture *)texture)) + if (texture->baseTexture.cond_np2) { GLenum target = texture->baseTexture.target; @@ -335,14 +335,6 @@ static void WINAPI IWineD3DTextureImpl_GenerateMipSubLevels(IWineD3DBaseTexture basetexture_generate_mipmaps((IWineD3DBaseTextureImpl *)iface); } -static BOOL WINAPI IWineD3DTextureImpl_IsCondNP2(IWineD3DBaseTexture *iface) -{ - IWineD3DBaseTextureImpl *This = (IWineD3DBaseTextureImpl *)iface; - TRACE("(%p)\n", This); - - return This->baseTexture.cond_np2; -} - static struct wined3d_resource * WINAPI IWineD3DTextureImpl_GetSubResource(IWineD3DBaseTexture *iface, UINT sub_resource_idx) { @@ -395,7 +387,6 @@ static const IWineD3DBaseTextureVtbl IWineD3DTexture_Vtbl = IWineD3DTextureImpl_SetAutoGenFilterType, IWineD3DTextureImpl_GetAutoGenFilterType, IWineD3DTextureImpl_GenerateMipSubLevels, - IWineD3DTextureImpl_IsCondNP2, IWineD3DTextureImpl_GetSubResource, IWineD3DTextureImpl_AddDirtyRegion, }; diff --git a/dlls/wined3d/volumetexture.c b/dlls/wined3d/volumetexture.c index 07a83c3..3831ef1 100644 --- a/dlls/wined3d/volumetexture.c +++ b/dlls/wined3d/volumetexture.c @@ -252,13 +252,6 @@ static void WINAPI IWineD3DVolumeTextureImpl_GenerateMipSubLevels(IWineD3DBaseTe basetexture_generate_mipmaps((IWineD3DBaseTextureImpl *)iface); } -static BOOL WINAPI IWineD3DVolumeTextureImpl_IsCondNP2(IWineD3DBaseTexture *iface) -{ - TRACE("iface %p.\n", iface); - - return FALSE; -} - static struct wined3d_resource * WINAPI IWineD3DVolumeTextureImpl_GetSubResource(IWineD3DBaseTexture *iface, UINT sub_resource_idx) { @@ -311,7 +304,6 @@ static const IWineD3DBaseTextureVtbl IWineD3DVolumeTexture_Vtbl = IWineD3DVolumeTextureImpl_SetAutoGenFilterType, IWineD3DVolumeTextureImpl_GetAutoGenFilterType, IWineD3DVolumeTextureImpl_GenerateMipSubLevels, - IWineD3DVolumeTextureImpl_IsCondNP2, IWineD3DVolumeTextureImpl_GetSubResource, IWineD3DVolumeTextureImpl_AddDirtyRegion, }; diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl index b918240..50eba07 100644 --- a/include/wine/wined3d.idl +++ b/include/wine/wined3d.idl @@ -2356,8 +2356,6 @@ interface IWineD3DBaseTexture : IWineD3DResource ); void GenerateMipSubLevels( ); - BOOL IsCondNP2( - ); struct wined3d_resource *GetSubResource( [in] UINT sub_resource_idx );
1
0
0
0
← Newer
1
...
28
29
30
31
32
33
34
...
85
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
Results per page:
10
25
50
100
200