X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=gtk%2Fxboard.c;h=6fd5ea425c548e13b29af22389b17992eab7176d;hp=df1f18e9f94237c21db0a9d62b2045ee34f9ba87;hb=bf5b3665f905ef0c595b2eed408b9798e409a21d;hpb=88a788118a6c2a024d3a3dc42105ca0335f6812f diff --git a/gtk/xboard.c b/gtk/xboard.c index df1f18e..6fd5ea4 100644 --- a/gtk/xboard.c +++ b/gtk/xboard.c @@ -444,9 +444,13 @@ SetFontDefaults () } void -ChangeFont (char **font, int fnr, int size, char *def, int pix) +ChangeFont (int force, char **font, int fnr, int size, char *def, int pix) { - if(!fontValid[fnr][size]) { ASSIGN(fontTable[fnr][size], def); fontIsSet[fnr] = False; } // use default + if(!fontValid[fnr][size]) { + if(fontIsSet[fnr] && !force) return; // unless forced we do not replace an explicitly specified font by a default + ASSIGN(fontTable[fnr][size], def); // use default + fontIsSet[fnr] = False; + } FREE(*font); *font = InsertPxlSize(fontTable[fnr][size], pix); } @@ -1700,8 +1704,13 @@ ReSize (WindowPlacement *wp) for(h=0; sizeDefaults[h].name && sizeDefaults[h].squareSize*8 > sqx*BOARD_WIDTH; h++) {} if(initialSquareSize != sizeDefaults[h].squareSize) { // boardSize changed initialSquareSize = sizeDefaults[h].squareSize; // used for saving font - ChangeFont(&appData.clockFont, CLOCK_FONT, initialSquareSize, CLOCK_FONT_NAME, 2*(sizeDefaults[h].clockFontPxlSize+1)/3); - ChangeFont(&appData.font, MESSAGE_FONT, initialSquareSize, DEFAULT_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(1, &appData.clockFont, CLOCK_FONT, initialSquareSize, CLOCK_FONT_NAME, 2*(sizeDefaults[h].clockFontPxlSize+1)/3); + ChangeFont(1, &appData.font, MESSAGE_FONT, initialSquareSize, DEFAULT_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.icsFont, CONSOLE_FONT, initialSquareSize, CONSOLE_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.tagsFont, EDITTAGS_FONT, initialSquareSize, TAGS_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.commentFont, COMMENT_FONT, initialSquareSize, COMMENT_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.gameListFont, GAMELIST_FONT, initialSquareSize, GAMELIST_FONT_NAME, sizeDefaults[h].coordFontPxlSize); + ChangeFont(0, &appData.coordFont, MOVEHISTORY_FONT, initialSquareSize, HISTORY_FONT_NAME, sizeDefaults[h].coordFontPxlSize); DisplayBothClocks(); ApplyFont(&mainOptions[W_MESSG], NULL); for(i=1; i<6; i++) ApplyFont(&mainOptions[W_BUTTON+i], NULL);