Jacek Caban : kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputAttribute.

Alexandre Julliard julliard at winehq.org
Tue Jul 14 16:23:38 CDT 2020


Module: wine
Branch: master
Commit: 440e31a73212382362cf64982de8ecf2d579cdb4
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=440e31a73212382362cf64982de8ecf2d579cdb4

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jul 14 16:23:28 2020 +0200

kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputAttribute.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernelbase/console.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c
index 4468d713d9..49259857af 100644
--- a/dlls/kernelbase/console.c
+++ b/dlls/kernelbase/console.c
@@ -400,7 +400,7 @@ DWORD WINAPI CtrlRoutine( void *arg )
 BOOL WINAPI DECLSPEC_HOTPATCH FillConsoleOutputAttribute( HANDLE handle, WORD attr, DWORD length,
                                                            COORD coord, DWORD *written )
 {
-    BOOL ret;
+    struct condrv_fill_output_params params;
 
     TRACE( "(%p,%d,%d,(%dx%d),%p)\n", handle, attr, length, coord.X, coord.Y, written );
 
@@ -411,19 +411,16 @@ BOOL WINAPI DECLSPEC_HOTPATCH FillConsoleOutputAttribute( HANDLE handle, WORD at
     }
 
     *written = 0;
-    SERVER_START_REQ( fill_console_output )
-    {
-        req->handle    = console_handle_unmap( handle );
-        req->x         = coord.X;
-        req->y         = coord.Y;
-        req->mode      = CHAR_INFO_MODE_ATTR;
-        req->wrap      = TRUE;
-        req->data.attr = attr;
-        req->count     = length;
-        if ((ret = !wine_server_call_err( req ))) *written = reply->written;
-    }
-    SERVER_END_REQ;
-    return ret;
+
+    params.mode  = CHAR_INFO_MODE_ATTR;
+    params.x     = coord.X;
+    params.y     = coord.Y;
+    params.count = length;
+    params.wrap  = TRUE;
+    params.ch    = 0;
+    params.attr  = attr;
+    return console_ioctl( handle, IOCTL_CONDRV_FILL_OUTPUT, &params, sizeof(params),
+                          written, sizeof(written), NULL );
 }
 
 




More information about the wine-cvs mailing list