From be690c9671e7b40950d7170507744b3d5eaf2910 Mon Sep 17 00:00:00 2001 From: Anton Gladky Date: Wed, 22 Nov 2017 09:50:49 +0100 Subject: [PATCH] Fix FTBFS with glibc 2.25. (Closes: #882167) --- debian/patches/30_fix_ftbfs_glibc.patch | 126 ++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 127 insertions(+) create mode 100644 debian/patches/30_fix_ftbfs_glibc.patch diff --git a/debian/patches/30_fix_ftbfs_glibc.patch b/debian/patches/30_fix_ftbfs_glibc.patch new file mode 100644 index 0000000..f25ba9b --- /dev/null +++ b/debian/patches/30_fix_ftbfs_glibc.patch @@ -0,0 +1,126 @@ +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"); diff --git a/debian/patches/series b/debian/patches/series index ebc2025..8efde5d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 01_RemoveGitHash.patch 20_use_system_unifont.patch +30_fix_ftbfs_glibc.patch -- 2.30.2