Hugh McMaster : wineconsole: Send the largest console window size information to the server.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jan 5 12:18:33 CST 2016
Module: wine
Branch: master
Commit: 8ac323f61b1406cc1581df27d009e41dc46630a2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ac323f61b1406cc1581df27d009e41dc46630a2
Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date: Tue Jan 5 18:59:31 2016 +1100
wineconsole: Send the largest console window size information to the server.
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
programs/wineconsole/wineconsole.c | 6 +++++-
server/console.c | 7 -------
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/programs/wineconsole/wineconsole.c b/programs/wineconsole/wineconsole.c
index 7a89eeb..729416f 100644
--- a/programs/wineconsole/wineconsole.c
+++ b/programs/wineconsole/wineconsole.c
@@ -424,11 +424,15 @@ void WINECON_SetConfig(struct inner_data* data, const struct config_data* cf
if (strcmpiW(data->curcfg.face_name, cfg->face_name) || data->curcfg.cell_width != cfg->cell_width ||
data->curcfg.cell_height != cfg->cell_height || data->curcfg.font_weight != cfg->font_weight)
{
+ RECT r;
data->fnSetFont(data, cfg->face_name, cfg->cell_height, cfg->font_weight);
+ SystemParametersInfoW(SPI_GETWORKAREA, 0, &r, 0);
SERVER_START_REQ(set_console_output_info)
{
req->handle = wine_server_obj_handle( data->hConOut );
- req->mask = SET_CONSOLE_OUTPUT_INFO_FONT;
+ req->mask = SET_CONSOLE_OUTPUT_INFO_MAX_SIZE | SET_CONSOLE_OUTPUT_INFO_FONT;
+ req->max_width = (r.right - r.left) / cfg->cell_width;
+ req->max_height = (r.bottom - r.top - GetSystemMetrics(SM_CYCAPTION)) / cfg->cell_height;
req->font_width = cfg->cell_width;
req->font_height = cfg->cell_height;
wine_server_call( req );
diff --git a/server/console.c b/server/console.c
index a57b2fe..9b01614 100644
--- a/server/console.c
+++ b/server/console.c
@@ -1018,13 +1018,6 @@ static int set_console_output_info( struct screen_buffer *screen_buffer,
}
if (req->mask & SET_CONSOLE_OUTPUT_INFO_MAX_SIZE)
{
- /* can only be done by renderer */
- if (current->process->console != screen_buffer->input)
- {
- set_error( STATUS_INVALID_PARAMETER );
- return 0;
- }
-
screen_buffer->max_width = req->max_width;
screen_buffer->max_height = req->max_height;
}
More information about the wine-cvs
mailing list