gcc once again became a little bit more strict about the C++ standard, so
the skincurses plugin will not compile anymore.

8.5/9 of the C++ standard says

"If no initializer is specified for an object, and the object is of
(possibly cv-qualified) nonPOD class type (or array thereof), the object
shall be default-initialized; if the object is of const-qualified type,
the underlying class type shall have a user-declared default constructor.

Otherwise, if no initializer is specified for an object, the object and
its sub-objects, if any, have an indeterminate initial value; if the
object or any of its sub-objects are of const-qualified type, the program
is ill-formed."

Adding an initializer solves this issue. Please see the attached patch.



#! /bin/sh /usr/share/dpatch/dpatch-run
## 99_gcc4.6-fix.dpatch by Tobias Grimm <t...@e-tobi.net>
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fixes gcc 4.6 issue - const needs custom default ctor or initializer
## DP: See C++ standard 8.5/9

diff --git a/PLUGINS/src/skincurses/skincurses.c 
index 84076cd..debc8f7 100644
--- a/PLUGINS/src/skincurses/skincurses.c
+++ b/PLUGINS/src/skincurses/skincurses.c
@@ -26,7 +26,7 @@ public:
   virtual void DrawText(cPixmap *Pixmap, int x, int y, const char *s, tColor 
ColorFg, tColor ColorBg, int Width) const {}
-static const cCursesFont Font;
+static const cCursesFont Font = cCursesFont();
 // --- cCursesOsd ------------------------------------------------------------
vdr mailing list

Reply via email to