eric pouech wrote: > > as spotted by Marcus, but only half done, the fg & bg colors were > inverted > moreover, this patch also some initialisation problems in wineconsole hrmmm sounds like I forgot some part (one third ?) too... here it goes. alexandre, use this patch instead A+ -- --------------- Eric Pouech (http://perso.wanadoo.fr/eric.pouech/) "The future will be better tomorrow", Vice President Dan Quayle
Name: con_clr ChangeLog: fixed color definition (bg and fg were swapped) fixed some initialisation issues GenDate: 2002/01/02 18:04:02 UTC ModifiedFiles: server/console.c programs/wineconsole/user.c programs/wineconsole/dialog.c programs/wineconsole/registry.c AddedFiles: =================================================================== RCS file: /usr/share/cvs/cvsroot/wine/wine/server/console.c,v retrieving revision 1.32 diff -u -u -r1.32 console.c --- server/console.c 2001/12/20 00:07:08 1.32 +++ server/console.c 2002/01/02 11:24:19 @@ -116,7 +116,7 @@ static struct screen_buffer *screen_buffer_list; -static const char_info_t empty_char_info = { ' ', 0x00f0 }; /* white on black space */ +static const char_info_t empty_char_info = { ' ', 0x000f }; /* white on black space */ /* dumps the renderer events of a console */ static void console_input_events_dump( struct object *obj, int verbose ) @@ -227,7 +227,7 @@ screen_buffer->max_height = 25; screen_buffer->cursor_x = 0; screen_buffer->cursor_y = 0; - screen_buffer->attr = 0xF0; + screen_buffer->attr = 0x0F; screen_buffer->win.left = 0; screen_buffer->win.right = screen_buffer->max_width - 1; screen_buffer->win.top = 0; Index: programs/wineconsole/user.c =================================================================== RCS file: /usr/share/cvs/cvsroot/wine/wine/programs/wineconsole/user.c,v retrieving revision 1.4 diff -u -u -r1.4 user.c --- programs/wineconsole/user.c 2002/01/01 00:14:02 1.4 +++ programs/wineconsole/user.c 2002/01/01 16:30:49 @@ -1030,7 +1030,7 @@ WNDCLASS wndclass; - data->private = HeapAlloc(GetProcessHeap(), 0, sizeof(struct inner_data_user)); + data->private = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(struct inner_data_user)); if (!data->private) return FALSE; data->fnMainLoop = WCUSER_MainLoop; Index: programs/wineconsole/dialog.c =================================================================== RCS file: /usr/share/cvs/cvsroot/wine/wine/programs/wineconsole/dialog.c,v retrieving revision 1.3 diff -u -u -r1.3 dialog.c --- programs/wineconsole/dialog.c 2002/01/01 00:14:02 1.3 +++ programs/wineconsole/dialog.c 2002/01/01 16:00:40 @@ -521,8 +521,8 @@ di->hDlg = hDlg; SetWindowLong(hDlg, DWL_USER, (DWORD)di); fill_list_font(di); - SetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_BK), 0, di->config->def_attr & 0x0F); - SetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_FG), 0, (di->config->def_attr >> 4) & 0x0F); + SetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_BK), 0, (di->config->def_attr >> 4) & 0x0F); + SetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_FG), 0, di->config->def_attr & 0x0F); break; case WM_COMMAND: di = (struct dialog_info*)GetWindowLong(hDlg, DWL_USER); @@ -559,8 +559,8 @@ if (val < di->nFont) (di->apply)(di, hDlg, WCUSER_ApplyToFont, val); (di->apply)(di, hDlg, WCUSER_ApplyToAttribute, - GetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_BK), 0) | - (GetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_FG), 0) << 4)); + (GetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_BK), 0) << 4) | + GetWindowLong(GetDlgItem(hDlg, IDC_FNT_COLOR_FG), 0)); SetWindowLong(hDlg, DWL_MSGRESULT, PSNRET_NOERROR); return TRUE; Index: programs/wineconsole/registry.c =================================================================== RCS file: /usr/share/cvs/cvsroot/wine/wine/programs/wineconsole/registry.c,v retrieving revision 1.1 diff -u -u -r1.1 registry.c --- programs/wineconsole/registry.c 2001/12/04 20:46:54 1.1 +++ programs/wineconsole/registry.c 2002/01/01 16:29:28 @@ -72,18 +72,18 @@ count = sizeof(val); if (!hConKey || RegQueryValueEx(hConKey, wszScreenBufferSize, 0, &type, (char*)&val, &count)) - val = 0x000C0008; + val = 0x00190050; cfg->sb_height = HIWORD(val); cfg->sb_width = LOWORD(val); count = sizeof(val); if (!hConKey || RegQueryValueEx(hConKey, wszScreenColors, 0, &type, (char*)&val, &count)) - val = 0x0007; + val = 0x000F; cfg->def_attr = val; count = sizeof(val); if (!hConKey || RegQueryValueEx(hConKey, wszWindowSize, 0, &type, (char*)&val, &count)) - val = 0x000C0008; + val = 0x00190050; cfg->win_height = HIWORD(val); cfg->win_width = LOWORD(val);