From e53cd36e63c1eae148590d0add06a121f2d298f2 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Tue, 14 May 2002 21:45:13 +0000 Subject: [PATCH] Removed Trace macro and replaced it by Wine debug channel facility. Made the font lookup at startup more robust and now save registry at startup time if a new font is chosen (as spotted by Sylvain Petreolle). Fixed an update bug spotted by Jason Edmeades. --- programs/wineconsole/dialog.c | 13 ++- programs/wineconsole/registry.c | 6 +- programs/wineconsole/user.c | 128 +++++++++++++++++++------ programs/wineconsole/winecon_private.h | 13 --- programs/wineconsole/winecon_user.h | 2 + programs/wineconsole/wineconsole.c | 62 +++++------- 6 files changed, 141 insertions(+), 83 deletions(-) diff --git a/programs/wineconsole/dialog.c b/programs/wineconsole/dialog.c index 79e7fe8dd67..d862ba1a109 100644 --- a/programs/wineconsole/dialog.c +++ b/programs/wineconsole/dialog.c @@ -23,6 +23,10 @@ #include "prsht.h" #include "winecon_user.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wineconsole); + enum WCUSER_ApplyTo { /* Prop sheet CFG */ WCUSER_ApplyToCursorSize, @@ -392,6 +396,7 @@ static int CALLBACK font_enum_size2(const LOGFONT* lf, const TEXTMETRIC* tm, { struct dialog_info* di = (struct dialog_info*)lParam; + WCUSER_DumpTextMetric(tm, FontType); if (WCUSER_ValidateFontMetric(di->data, tm, FontType)) { di->nFont++; @@ -406,6 +411,7 @@ static int CALLBACK font_enum(const LOGFONT* lf, const TEXTMETRIC* tm, struct dialog_info* di = (struct dialog_info*)lParam; HDC hdc; + WCUSER_DumpLogFont("font", lf, FontType); if (WCUSER_ValidateFont(di->data, lf) && (hdc = GetDC(di->hDlg))) { if (FontType & RASTER_FONTTYPE) @@ -439,6 +445,7 @@ static int CALLBACK font_enum_size(const LOGFONT* lf, const TEXTMETRIC* tm, WCHAR buf[32]; static const WCHAR fmt[] = {'%','l','d',0}; + WCUSER_DumpTextMetric(tm, FontType); if (di->nFont == 0 && !(FontType & RASTER_FONTTYPE)) { static const int sizes[] = {8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72}; @@ -523,8 +530,8 @@ static BOOL select_font(struct dialog_info* di) if (!hFont) return FALSE; if (config.cell_height != di->font[size_idx].height) - Trace(0, "select_font: mismatched heights (%u<>%u)\n", - config.cell_height, di->font[size_idx].height); + WINE_TRACE("select_font: mismatched heights (%u<>%u)\n", + config.cell_height, di->font[size_idx].height); hOldFont = (HFONT)SendDlgItemMessage(di->hDlg, IDC_FNT_PREVIEW, WM_GETFONT, 0L, 0L); SendDlgItemMessage(di->hDlg, IDC_FNT_PREVIEW, WM_SETFONT, (DWORD)hFont, TRUE); @@ -575,7 +582,7 @@ static BOOL fill_list_size(struct dialog_info* di, BOOL doInit) di->font[idx].weight == di->config->font_weight) { if (ref == -1) ref = idx; - else Trace(0, "Several matches found: ref=%d idx=%d\n", ref, idx); + else WINE_TRACE("Several matches found: ref=%d idx=%d\n", ref, idx); } } idx = (ref == -1) ? 0 : ref; diff --git a/programs/wineconsole/registry.c b/programs/wineconsole/registry.c index c36b8b244f1..8a6dbe7b92b 100644 --- a/programs/wineconsole/registry.c +++ b/programs/wineconsole/registry.c @@ -23,6 +23,10 @@ #include "winreg.h" #include "winecon_private.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wineconsole); + static const WCHAR wszConsole[] = {'C','o','n','s','o','l','e',0}; static const WCHAR wszCursorSize[] = {'C','u','r','s','o','r','S','i','z','e',0}; static const WCHAR wszCursorVisible[] = {'C','u','r','s','o','r','V','i','s','i','b','l','e',0}; @@ -125,7 +129,7 @@ BOOL WINECON_RegSave(const struct config_data* cfg) if (RegCreateKey(HKEY_CURRENT_USER, wszConsole, &hConKey)) { - Trace(0, "Can't open registry for saving\n"); + WINE_ERR("Can't open registry for saving\n"); return FALSE; } diff --git a/programs/wineconsole/user.c b/programs/wineconsole/user.c index e2a2023462c..b9e8e0f7e2e 100644 --- a/programs/wineconsole/user.c +++ b/programs/wineconsole/user.c @@ -22,6 +22,11 @@ #include #include "winecon_user.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wineconsole); +WINE_DECLARE_DEBUG_CHANNEL(wc_font); + /* mapping console colors to RGB values */ COLORREF WCUSER_ColorMap[16] = { @@ -44,19 +49,24 @@ static void WCUSER_FillMemDC(const struct inner_data* data, int upd_tp, int upd_ WORD attr; WCHAR* line; + /* no font has been set up yet, don't worry about filling the bitmap, + * we'll do it once a font is chosen + */ + if (!PRIVATE(data)->hFont) return; + if (!(line = HeapAlloc(GetProcessHeap(), 0, data->curcfg.sb_width * sizeof(WCHAR)))) - {Trace(0, "OOM\n"); return;} + {WINE_ERR("OOM\n"); return;} hOldFont = SelectObject(PRIVATE(data)->hMemDC, PRIVATE(data)->hFont); for (j = upd_tp; j <= upd_bm; j++) { cell = &data->cells[j * data->curcfg.sb_width]; - for (i = 0; i < data->curcfg.win_width; i++) + for (i = 0; i < data->curcfg.sb_width; i++) { attr = cell[i].Attributes; SetBkColor(PRIVATE(data)->hMemDC,WCUSER_ColorMap[(attr>>4)&0x0F]); SetTextColor(PRIVATE(data)->hMemDC, WCUSER_ColorMap[attr&0x0F]); - for (k = i; k < data->curcfg.win_width && cell[k].Attributes == attr; k++) + for (k = i; k < data->curcfg.sb_width && cell[k].Attributes == attr; k++) { line[k - i] = cell[k].Char.UnicodeChar; } @@ -93,7 +103,7 @@ static void WCUSER_NewBitmap(struct inner_data* data, BOOL fill) if (hold == PRIVATE(data)->hBitmap) DeleteObject(PRIVATE(data)->hBitmap); else - Trace(0, "leak\n"); + WINE_FIXME("leak\n"); } PRIVATE(data)->hBitmap = hnew; if (fill) @@ -144,7 +154,7 @@ void WCUSER_ShapeCursor(struct inner_data* data, int size, int vis, BOOL force) w16b = ((data->curcfg.cell_width + 15) & ~15) / 8; ptr = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, w16b * data->curcfg.cell_height); - if (!ptr) {Trace(0, "OOM\n"); return;} + if (!ptr) {WINE_ERR("OOM\n"); return;} nbl = max((data->curcfg.cell_height * size) / 100, 1); for (j = data->curcfg.cell_height - nbl; j < data->curcfg.cell_height; j++) { @@ -250,6 +260,42 @@ static void WCUSER_SetTitle(const struct inner_data* data) SetWindowText(PRIVATE(data)->hWnd, buffer); } +void WCUSER_DumpLogFont(const char* pfx, const LOGFONT* lf, DWORD ft) +{ + WINE_TRACE_(wc_font)("%s %s%s%s%s\n" + "\tlf.lfHeight=%ld lf.lfWidth=%ld lf.lfEscapement=%ld lf.lfOrientation=%ld\n" + "\tlf.lfWeight=%ld lf.lfItalic=%u lf.lfUnderline=%u lf.lfStrikeOut=%u\n" + "\tlf.lfCharSet=%u lf.lfOutPrecision=%u lf.lfClipPrecision=%u lf.lfQuality=%u\n" + "\tlf->lfPitchAndFamily=%u lf.lfFaceName=%s\n", + pfx, + (ft & RASTER_FONTTYPE) ? "raster" : "", + (ft & TRUETYPE_FONTTYPE) ? "truetype" : "", + ((ft & (RASTER_FONTTYPE|TRUETYPE_FONTTYPE)) == 0) ? "vector" : "", + (ft & DEVICE_FONTTYPE) ? "|device" : "", + lf->lfHeight, lf->lfWidth, lf->lfEscapement, lf->lfOrientation, + lf->lfWeight, lf->lfItalic, lf->lfUnderline, lf->lfStrikeOut, lf->lfCharSet, + lf->lfOutPrecision, lf->lfClipPrecision, lf->lfQuality, lf->lfPitchAndFamily, + wine_dbgstr_w(lf->lfFaceName)); +} + +void WCUSER_DumpTextMetric(const TEXTMETRIC* tm, DWORD ft) +{ + WINE_TRACE_(wc_font)("%s%s%s%s\n" + "\ttmHeight=%ld tmAscent=%ld tmDescent=%ld tmInternalLeading=%ld tmExternalLeading=%ld\n" + "\ttmAveCharWidth=%ld tmMaxCharWidth=%ld tmWeight=%ld tmOverhang=%ld\n" + "\ttmDigitizedAspectX=%ld tmDigitizedAspectY=%ld\n" + "\ttmFirstChar=%d tmLastChar=%d tmDefaultChar=%d tmBreakChar=%d\n" + "\ttmItalic=%u tmUnderlined=%u tmStruckOut=%u tmPitchAndFamily=%u tmCharSet=%u\n", + (ft & RASTER_FONTTYPE) ? "raster" : "", + (ft & TRUETYPE_FONTTYPE) ? "truetype" : "", + ((ft & (RASTER_FONTTYPE|TRUETYPE_FONTTYPE)) == 0) ? "vector" : "", + (ft & DEVICE_FONTTYPE) ? "|device" : "", + tm->tmHeight, tm->tmAscent, tm->tmDescent, tm->tmInternalLeading, tm->tmExternalLeading, tm->tmAveCharWidth, + tm->tmMaxCharWidth, tm->tmWeight, tm->tmOverhang, tm->tmDigitizedAspectX, tm->tmDigitizedAspectY, + tm->tmFirstChar, tm->tmLastChar, tm->tmDefaultChar, tm->tmBreakChar, tm->tmItalic, tm->tmUnderlined, tm->tmStruckOut, + tm->tmPitchAndFamily, tm->tmCharSet); +} + /****************************************************************** * FontEqual * @@ -263,7 +309,8 @@ BOOL WCUSER_AreFontsEqual(const struct config_data* config, const LOGFONT* lf) !lstrcmp(lf->lfFaceName, config->face_name); } -struct font_chooser { +struct font_chooser +{ struct inner_data* data; int done; }; @@ -307,11 +354,20 @@ static int CALLBACK get_first_font_enum_2(const LOGFONT* lf, const TEXTMETRIC* t { struct font_chooser* fc = (struct font_chooser*)lParam; - if (WCUSER_ValidateFontMetric(fc->data, tm, FontType)) + WCUSER_DumpTextMetric(tm, FontType); + + if (WCUSER_ValidateFontMetric(fc->data, tm, FontType) && + WCUSER_SetFont(fc->data, lf)) { - WCUSER_SetFont(fc->data, lf); - fc->done = 1; - return 0; + fc->done = 1; + /* since we've modified the current config with new font information, + * set it as the new default. + * Force also its writing back to the registry so that we can get it + * the next time + */ + fc->data->defcfg = fc->data->curcfg; + WINECON_RegSave(&fc->data->defcfg); + return 0; } return 1; } @@ -321,9 +377,12 @@ static int CALLBACK get_first_font_enum(const LOGFONT* lf, const TEXTMETRIC* tm, { struct font_chooser* fc = (struct font_chooser*)lParam; + WCUSER_DumpLogFont("init", lf, FontType); + if (WCUSER_ValidateFont(fc->data, lf)) { - EnumFontFamilies(PRIVATE(fc->data)->hMemDC, lf->lfFaceName, get_first_font_enum_2, lParam); + EnumFontFamilies(PRIVATE(fc->data)->hMemDC, lf->lfFaceName, + get_first_font_enum_2, lParam); return !fc->done; /* we just need the first matching one... */ } return 1; @@ -372,8 +431,8 @@ HFONT WCUSER_CopyFont(struct config_data* config, HWND hWnd, const LOGFONT* lf) { if (buf[j] != w) { - Trace(0, "Non uniform cell width: [%d]=%d [%d]=%d\n", - i + j, buf[j], tm.tmFirstChar, w); + WINE_WARN("Non uniform cell width: [%d]=%d [%d]=%d\n", + i + j, buf[j], tm.tmFirstChar, w); goto err; } } @@ -427,11 +486,16 @@ void WCUSER_FillLogFont(LOGFONT* lf, const WCHAR* name, UINT height, UINT wei */ BOOL WCUSER_SetFont(struct inner_data* data, const LOGFONT* logfont) { - if (WCUSER_AreFontsEqual(&data->curcfg, logfont)) return TRUE; - if (PRIVATE(data)->hFont) DeleteObject(PRIVATE(data)->hFont); + HFONT hFont; - PRIVATE(data)->hFont = WCUSER_CopyFont(&data->curcfg, PRIVATE(data)->hWnd, logfont); - if (!PRIVATE(data)->hFont) {Trace(0, "wrong font\n");return FALSE;} + if (PRIVATE(data)->hFont != 0 && WCUSER_AreFontsEqual(&data->curcfg, logfont)) + return TRUE; + + hFont = WCUSER_CopyFont(&data->curcfg, PRIVATE(data)->hWnd, logfont); + if (!hFont) {WINE_ERR("wrong font\n"); return FALSE;} + + if (PRIVATE(data)->hFont) DeleteObject(PRIVATE(data)->hFont); + PRIVATE(data)->hFont = hFont; WCUSER_ComputePositions(data); WCUSER_NewBitmap(data, TRUE); @@ -449,18 +513,23 @@ BOOL WCUSER_SetFont(struct inner_data* data, const LOGFONT* logfont) */ static BOOL WCUSER_InitFont(struct inner_data* data) { - LOGFONT lf; struct font_chooser fc; - WCUSER_FillLogFont(&lf, data->curcfg.face_name, - data->curcfg.cell_height, data->curcfg.font_weight); - data->curcfg.face_name[0] = 0; - data->curcfg.cell_height = data->curcfg.font_weight = 0; + if (data->curcfg.face_name[0] != '\0' && + data->curcfg.cell_height != 0 && + data->curcfg.font_weight != 0) + { + LOGFONT lf; - if (WCUSER_SetFont(data, &lf)) return TRUE; + WCUSER_FillLogFont(&lf, data->curcfg.face_name, + data->curcfg.cell_height, data->curcfg.font_weight); + if (PRIVATE(data)->hFont != 0) WINE_FIXME("Oh strange\n"); + + if (WCUSER_SetFont(data, &lf)) return TRUE; + } /* try to find an acceptable font */ - Trace(0, "Couldn't match the font from registry... trying to find one\n"); + WINE_WARN("Couldn't match the font from registry... trying to find one\n"); fc.data = data; fc.done = 0; EnumFontFamilies(PRIVATE(data)->hMemDC, NULL, get_first_font_enum, (LPARAM)&fc); @@ -642,6 +711,7 @@ static void WCUSER_PasteFromClipboard(struct inner_data* data) */ static void WCUSER_Refresh(const struct inner_data* data, int tp, int bm) { + WCUSER_FillMemDC(data, tp, bm); if (data->curcfg.win_pos.Y <= bm && data->curcfg.win_pos.Y + data->curcfg.win_height >= tp) { RECT r; @@ -651,7 +721,6 @@ static void WCUSER_Refresh(const struct inner_data* data, int tp, int bm) r.top = (tp - data->curcfg.win_pos.Y) * data->curcfg.cell_height; r.bottom = (bm - data->curcfg.win_pos.Y + 1) * data->curcfg.cell_height; InvalidateRect(PRIVATE(data)->hWnd, &r, FALSE); - WCUSER_FillMemDC(data, tp, bm); UpdateWindow(PRIVATE(data)->hWnd); } } @@ -689,7 +758,6 @@ static void WCUSER_Scroll(struct inner_data* data, int pos, BOOL horz) { SetScrollPos(PRIVATE(data)->hWnd, SB_HORZ, pos, TRUE); data->curcfg.win_pos.X = pos; - InvalidateRect(PRIVATE(data)->hWnd, NULL, FALSE); } else { @@ -765,7 +833,7 @@ static LRESULT WCUSER_Create(HWND hWnd, LPCREATESTRUCT lpcs) WCUSER_FillMenu(PRIVATE(data)->hPopMenu, FALSE); PRIVATE(data)->hMemDC = CreateCompatibleDC(0); - if (!PRIVATE(data)->hMemDC) {Trace(0, "no mem dc\n");return 0;} + if (!PRIVATE(data)->hMemDC) {WINE_ERR("no mem dc\n");return 0;} data->curcfg.quick_edit = FALSE; return 0; @@ -778,7 +846,7 @@ static LRESULT WCUSER_Create(HWND hWnd, LPCREATESTRUCT lpcs) */ static void WCUSER_SetMenuDetails(const struct inner_data* data, HMENU hMenu) { - if (!hMenu) {Trace(0, "Issue in getting menu bits\n");return;} + if (!hMenu) {WINE_ERR("Issue in getting menu bits\n");return;} EnableMenuItem(hMenu, IDS_COPY, MF_BYCOMMAND|(PRIVATE(data)->has_selection ? MF_ENABLED : MF_GRAYED)); @@ -1216,7 +1284,7 @@ static LRESULT CALLBACK WCUSER_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM break; case IDS_SCROLL: case IDS_SEARCH: - Trace(0, "unhandled yet command: %x\n", wParam); + WINE_FIXME("Unhandled yet command: %x\n", wParam); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); @@ -1278,7 +1346,7 @@ static int WCUSER_MainLoop(struct inner_data* data) } break; default: - Trace(0, "got pb\n"); + WINE_ERR("got pb\n"); /* err */ break; } diff --git a/programs/wineconsole/winecon_private.h b/programs/wineconsole/winecon_private.h index bbd968156cc..8dece060313 100644 --- a/programs/wineconsole/winecon_private.h +++ b/programs/wineconsole/winecon_private.h @@ -67,19 +67,6 @@ struct inner_data { void* private; /* data part belonging to the choosen backed */ }; -# ifdef __GNUC__ -extern void XTracer(int level, const char* format, ...) __attribute__((format (printf,2,3))); -# else -extern void XTracer(int level, const char* format, ...); -# endif -#if 0 -/* Trace mode */ -# define Trace XTracer -#else -/* non trace mode */ -# define Trace (1) ? (void)0 : XTracer -#endif - /* from wineconsole.c */ extern void WINECON_NotifyWindowChange(struct inner_data* data); extern int WINECON_GetHistorySize(HANDLE hConIn); diff --git a/programs/wineconsole/winecon_user.h b/programs/wineconsole/winecon_user.h index b0181d85488..7810f817043 100644 --- a/programs/wineconsole/winecon_user.h +++ b/programs/wineconsole/winecon_user.h @@ -53,3 +53,5 @@ extern HFONT WCUSER_CopyFont(struct config_data* config, HWND hWnd, const LOGFON extern void WCUSER_FillLogFont(LOGFONT* lf, const WCHAR* name, UINT height, UINT weight); +extern void WCUSER_DumpLogFont(const char* pfx, const LOGFONT* lf, DWORD ft); +extern void WCUSER_DumpTextMetric(const TEXTMETRIC* tm, DWORD ft); diff --git a/programs/wineconsole/wineconsole.c b/programs/wineconsole/wineconsole.c index b276b47df90..c6bd2c3ad60 100644 --- a/programs/wineconsole/wineconsole.c +++ b/programs/wineconsole/wineconsole.c @@ -26,27 +26,9 @@ #include "wine/unicode.h" #include "winecon_private.h" -static int trace_level = 1; -void XTracer(int level, const char* format, ...) -{ - char buf[1024]; - va_list valist; - int len; +#include "wine/debug.h" - if (level > trace_level) return; - - va_start(valist, format); - len = vsnprintf(buf, sizeof(buf), format, valist); - va_end(valist); - - if ((len <= -1) || (len >= sizeof(buf))) - { - len = sizeof(buf) - 1; - buf[len] = 0; - buf[len - 1] = buf[len - 2] = buf[len - 3] = '.'; - } - fprintf(stderr, buf); -} +WINE_DEFAULT_DEBUG_CHANNEL(wineconsole); /****************************************************************** * WINECON_FetchCells @@ -211,7 +193,7 @@ int WINECON_GrabChanges(struct inner_data* data) else num = 0; } SERVER_END_REQ; - if (!num) {Trace(0, "hmm renderer signaled but no events available\n"); return 1;} + if (!num) {WINE_WARN("hmm renderer signaled but no events available\n"); return 1;} /* FIXME: should do some event compression here (cursor pos, update) */ /* step 1: keep only last cursor pos event */ @@ -251,7 +233,7 @@ int WINECON_GrabChanges(struct inner_data* data) } } - Trace(1, "Change notification:"); + WINE_TRACE("Events:"); for (i = 0; i < num; i++) { switch (evts[i].event) @@ -269,7 +251,8 @@ int WINECON_GrabChanges(struct inner_data* data) h = wine_server_call_err( req ) ? 0 : (HANDLE)reply->handle; } SERVER_END_REQ; - Trace(1, " active(%d)", (int)h); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" active(%d)", (int)h); if (h) { CloseHandle(data->hConOut); @@ -280,19 +263,21 @@ int WINECON_GrabChanges(struct inner_data* data) if (data->curcfg.sb_width != evts[i].u.resize.width || data->curcfg.sb_height != evts[i].u.resize.height) { - Trace(1, " resize(%d,%d)", evts[i].u.resize.width, evts[i].u.resize.height); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" resize(%d,%d)", evts[i].u.resize.width, evts[i].u.resize.height); data->curcfg.sb_width = evts[i].u.resize.width; data->curcfg.sb_height = evts[i].u.resize.height; data->cells = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, data->cells, data->curcfg.sb_width * data->curcfg.sb_height * sizeof(CHAR_INFO)); - if (!data->cells) {Trace(0, "OOM\n"); exit(0);} + if (!data->cells) {WINE_ERR("OOM\n"); exit(0);} data->fnResizeScreenBuffer(data); data->fnComputePositions(data); } break; case CONSOLE_RENDERER_UPDATE_EVENT: - Trace(1, " update(%d,%d)", evts[i].u.update.top, evts[i].u.update.bottom); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" update(%d,%d)", evts[i].u.update.top, evts[i].u.update.bottom); WINECON_FetchCells(data, evts[i].u.update.top, evts[i].u.update.bottom); break; case CONSOLE_RENDERER_CURSOR_POS_EVENT: @@ -301,7 +286,8 @@ int WINECON_GrabChanges(struct inner_data* data) data->cursor.X = evts[i].u.cursor_pos.x; data->cursor.Y = evts[i].u.cursor_pos.y; data->fnPosCursor(data); - Trace(1, " curs-pos(%d,%d)",evts[i].u.cursor_pos.x, evts[i].u.cursor_pos.y); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" curs-pos(%d,%d)",evts[i].u.cursor_pos.x, evts[i].u.cursor_pos.y); } break; case CONSOLE_RENDERER_CURSOR_GEOM_EVENT: @@ -310,8 +296,9 @@ int WINECON_GrabChanges(struct inner_data* data) { data->fnShapeCursor(data, evts[i].u.cursor_geom.size, evts[i].u.cursor_geom.visible, FALSE); - Trace(1, " curs-geom(%d,%d)", - evts[i].u.cursor_geom.size, evts[i].u.cursor_geom.visible); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" curs-geom(%d,%d)", + evts[i].u.cursor_geom.size, evts[i].u.cursor_geom.visible); } break; case CONSOLE_RENDERER_DISPLAY_EVENT: @@ -319,32 +306,35 @@ int WINECON_GrabChanges(struct inner_data* data) { data->fnScroll(data, evts[i].u.display.left, TRUE); data->fnPosCursor(data); - Trace(1, " h-scroll(%d)", evts[i].u.display.left); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" h-scroll(%d)", evts[i].u.display.left); } if (evts[i].u.display.top != data->curcfg.win_pos.Y) { data->fnScroll(data, evts[i].u.display.top, FALSE); data->fnPosCursor(data); - Trace(1, " v-scroll(%d)", evts[i].u.display.top); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" v-scroll(%d)", evts[i].u.display.top); } if (evts[i].u.display.width != data->curcfg.win_width || evts[i].u.display.height != data->curcfg.win_height) { - Trace(1, " win-size(%d,%d)", evts[i].u.display.width, evts[i].u.display.height); + if (WINE_TRACE_ON(wineconsole)) + WINE_DPRINTF(" win-size(%d,%d)", evts[i].u.display.width, evts[i].u.display.height); data->curcfg.win_width = evts[i].u.display.width; data->curcfg.win_height = evts[i].u.display.height; data->fnComputePositions(data); } break; case CONSOLE_RENDERER_EXIT_EVENT: - Trace(1, ". Exit!!\n"); + if (WINE_TRACE_ON(wineconsole)) WINE_DPRINTF(". Exit!!\n"); return 0; default: - Trace(0, "Unknown event type (%d)\n", evts[i].event); + WINE_FIXME("Unknown event type (%d)\n", evts[i].event); } } - Trace(1, ". Done\n"); + if (WINE_TRACE_ON(wineconsole)) WINE_DPRINTF(".\n"); return 1; } @@ -454,7 +444,7 @@ static BOOL WINECON_Spawn(struct inner_data* data, LPCSTR lpCmdLine) !DuplicateHandle(GetCurrentProcess(), data->hConOut, GetCurrentProcess(), &startup.hStdError, GENERIC_READ|GENERIC_WRITE, TRUE, 0)) { - Trace(0, "can't dup handles\n"); + WINE_ERR("Can't dup handles\n"); /* no need to delete handles, we're exiting the programm anyway */ return FALSE; }