]> git.lyx.org Git - lyx.git/blobdiff - src/MetricsInfo.cpp
Center correctly top labels like Abstract.
[lyx.git] / src / MetricsInfo.cpp
index e7bbefbf0dbe62beb36b1efcbf967e8027469e17..e7de5d0ea5d7973c729e7a385a39cea28980ced3 100644 (file)
@@ -131,7 +131,7 @@ MetricsInfo::MetricsInfo(BufferView * bv, FontInfo font, int textwidth,
 /////////////////////////////////////////////////////////////////////////
 
 PainterInfo::PainterInfo(BufferView * bv, lyx::frontend::Painter & painter)
-       : pain(painter), ltr_pos(false), change_(), selected(false),
+       : pain(painter), ltr_pos(false), change(), selected(false),
          do_spellcheck(true), full_repaint(true), background_color(Color_background),
          leftx(0), rightx(0)
 {
@@ -153,31 +153,35 @@ void PainterInfo::draw(int x, int y, docstring const & str)
 
 ColorCode PainterInfo::backgroundColor(Inset const * inset, bool sel) const
 {
-       ColorCode const color_bg = inset->backgroundColor(*this);
-
        if (selected && sel)
                // This inset is in a selection
                return Color_selection;
-       else {
+
+       // special handling for inset background
+       if (inset != nullptr) {
+               if (pain.develMode() && !inset->isBufferValid())
+                       // This inset is in error
+                       return Color_error;
+
+               ColorCode const color_bg = inset->backgroundColor(*this);
                if (color_bg != Color_none)
                        // This inset has its own color
                        return color_bg;
-               else {
-                       if (background_color == Color_none)
-                               // This inset has no own color and does not inherit a color
-                               return Color_background;
-                       else
-                               // This inset has no own color, but inherits a color
-                               return background_color;
-               }
        }
+
+       if (background_color == Color_none)
+               // This inset has no own color and does not inherit a color
+               return Color_background;
+
+       // This inset has no own color, but inherits a color
+       return background_color;
 }
 
 
 Color PainterInfo::textColor(Color const & color) const
 {
-       if (change_.changed())
-               return change_.color();
+       if (change.changed())
+               return change.color();
        if (selected)
                return Color_selectiontext;
        return color;