Description: Fix FTBFS with glibc 2.25 Replace CHAR_WIDTH by CHAR_W_SOLVESPACE Author: Anton Gladky Bug-Debian: https://bugs.debian.org/882167 Last-Update: 2017-11-21 --- solvespace-2.3+repack1.orig/src/textwin.cpp +++ solvespace-2.3+repack1/src/textwin.cpp @@ -85,7 +85,7 @@ void TextWindow::ShowEditControl(int col editControl.halfRow = halfRow; editControl.col = col; - int x = LEFT_MARGIN + CHAR_WIDTH*col; + int x = LEFT_MARGIN + CHAR_W_SOLVESPACE*col; int y = (halfRow - SS.TW.scrollPos)*(LINE_HEIGHT/2); ShowTextEditControl(x, y + 18, str); @@ -447,7 +447,7 @@ void TextWindow::DrawOrHitTestIcons(int double ox = oldMousePos.x, oy = oldMousePos.y - LINE_HEIGHT; ox += 3; oy -= 3; - int tw = (str.length() + 1)*(CHAR_WIDTH - 1); + int tw = (str.length() + 1)*(CHAR_W_SOLVESPACE - 1); ox = min(ox, (double) (width - 25) - tw); oy = max(oy, 5.0); @@ -583,7 +583,7 @@ bool TextWindow::DrawOrHitTestColorPicke int width, height; GetTextWindowSize(&width, &height); - int px = LEFT_MARGIN + CHAR_WIDTH*editControl.col; + int px = LEFT_MARGIN + CHAR_W_SOLVESPACE*editControl.col; int py = (editControl.halfRow - SS.TW.scrollPos)*(LINE_HEIGHT/2); py += LINE_HEIGHT + 5; @@ -842,8 +842,8 @@ void TextWindow::Paint(void) { if(ltop < (scrollPos-1)) continue; if(ltop > scrollPos+halfRows) break; - for(c = 0; c < min((width/CHAR_WIDTH)+1, (int) MAX_COLS); c++) { - int x = LEFT_MARGIN + c*CHAR_WIDTH; + for(c = 0; c < min((width/CHAR_W_SOLVESPACE)+1, (int) MAX_COLS); c++) { + int x = LEFT_MARGIN + c*CHAR_W_SOLVESPACE; int y = (ltop-scrollPos)*(LINE_HEIGHT/2) + 4; int fg = meta[r][c].fg; @@ -866,7 +866,7 @@ void TextWindow::Paint(void) { // Move the quad down a bit, so that the descenders // still have the correct background. y += adj; - ssglAxisAlignedQuad(x, x + CHAR_WIDTH, y, y + bh, false); + ssglAxisAlignedQuad(x, x + CHAR_W_SOLVESPACE, y, y + bh, false); y -= adj; } } else if(a == 1) { @@ -912,8 +912,8 @@ void TextWindow::Paint(void) { glLineWidth(1); glBegin(GL_LINES); int yp = y + CHAR_HEIGHT; - glVertex2d(LEFT_MARGIN + cs*CHAR_WIDTH, yp); - glVertex2d(LEFT_MARGIN + cf*CHAR_WIDTH, yp); + glVertex2d(LEFT_MARGIN + cs*CHAR_W_SOLVESPACE, yp); + glVertex2d(LEFT_MARGIN + cf*CHAR_W_SOLVESPACE, yp); glEnd(); glEnable(GL_TEXTURE_2D); @@ -979,7 +979,7 @@ void TextWindow::MouseEvent(bool leftCli hoveredCol = 0; // Find the corresponding character in the text buffer - int c = (int)((x - LEFT_MARGIN) / CHAR_WIDTH); + int c = (int)((x - LEFT_MARGIN) / CHAR_W_SOLVESPACE); int hh = (LINE_HEIGHT)/2; y += scrollPos*hh; int r; --- solvespace-2.3+repack1.orig/src/toolbar.cpp +++ solvespace-2.3+repack1/src/toolbar.cpp @@ -218,7 +218,7 @@ bool GraphicsWindow::ToolbarDrawOrHitTes } } - int tw = str.length() * (SS.TW.CHAR_WIDTH - 1) + 10, + int tw = str.length() * (SS.TW.CHAR_W_SOLVESPACE - 1) + 10, th = SS.TW.LINE_HEIGHT + 2; double ox = toolbarMouseX + 3, oy = toolbarMouseY + 3; --- solvespace-2.3+repack1.orig/src/ui.h +++ solvespace-2.3+repack1/src/ui.h @@ -27,7 +27,7 @@ public: float fgColorTable[256*3]; enum { - CHAR_WIDTH = 9, + CHAR_W_SOLVESPACE = 9, CHAR_HEIGHT = 16, LINE_HEIGHT = 20, LEFT_MARGIN = 6, --- solvespace-2.3+repack1.orig/src/win32/w32main.cpp +++ solvespace-2.3+repack1/src/win32/w32main.cpp @@ -138,7 +138,7 @@ void SolveSpace::DoMessageBox(const char RECT r; GetWindowRect(GraphicsWnd, &r); const char *title = error ? "SolveSpace - Error" : "SolveSpace - Message"; - int width = cols*SS.TW.CHAR_WIDTH + 20, + int width = cols*SS.TW.CHAR_W_SOLVESPACE + 20, height = rows*SS.TW.LINE_HEIGHT + 60; MessageWidth = width; MessageHeight = height; @@ -546,7 +546,7 @@ LRESULT CALLBACK TextWndProc(HWND hwnd, r->top += extra; break; } - int tooNarrow = (SS.TW.MIN_COLS*SS.TW.CHAR_WIDTH) - + int tooNarrow = (SS.TW.MIN_COLS*SS.TW.CHAR_W_SOLVESPACE) - (r->right - r->left); if(tooNarrow >= 0) { switch(wParam) { @@ -1367,7 +1367,7 @@ int WINAPI WinMain(HINSTANCE hInstance, InitCommonControls(); // A monospaced font - FixedFont = CreateFontW(SS.TW.CHAR_HEIGHT, SS.TW.CHAR_WIDTH, 0, 0, + FixedFont = CreateFontW(SS.TW.CHAR_HEIGHT, SS.TW.CHAR_W_SOLVESPACE, 0, 0, FW_REGULAR, false, false, false, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, L"Lucida Console");