]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetspace.C
prevent crash when inserting minipage in table cell,
[lyx.git] / src / insets / insetspace.C
index ec1192d4d30b17c3adc690b16d49db8f1db6cd43..eb333e649cec19e6353d3192973caaa65049ebb2 100644 (file)
@@ -28,6 +28,7 @@
 
 using std::ostream;
 using std::max;
+using std::auto_ptr;
 
 
 InsetSpace::InsetSpace()
@@ -71,12 +72,13 @@ void InsetSpace::metrics(MetricsInfo & mi, Dimension & dim) const
                        dim.wid = 10;
                        break;
        }
+       dim_ = dim;
 }
 
 
 void InsetSpace::draw(PainterInfo & pi, int x, int y) const
 {
-       int const w = width(pi.base.bv, pi.base.font);
+       int const w = width();
        int const h = font_metrics::ascent('x', pi.base.font);
        int xp[4], yp[4];
 
@@ -213,7 +215,6 @@ int InsetSpace::ascii(Buffer const *, ostream & os, int) const
 int InsetSpace::linuxdoc(Buffer const *, ostream & os) const
 {
        switch (kind_) {
-       // fixme: correct?
        case NORMAL:
        case QUAD:
        case QQUAD:
@@ -234,7 +235,6 @@ int InsetSpace::linuxdoc(Buffer const *, ostream & os) const
 int InsetSpace::docbook(Buffer const *, ostream & os, bool) const
 {
        switch (kind_) {
-       // fixme: correct?
        case NORMAL:
        case QUAD:
        case QQUAD:
@@ -252,18 +252,12 @@ int InsetSpace::docbook(Buffer const *, ostream & os, bool) const
 }
 
 
-Inset * InsetSpace::clone(Buffer const &) const
+auto_ptr<InsetBase>  InsetSpace::clone() const
 {
-       return new InsetSpace(kind_);
+       return auto_ptr<InsetBase>(new InsetSpace(kind_));
 }
 
 
-// Inset * InsetSpace::clone(Buffer const &, bool) const
-// {
-//     return new InsetSpace(kind_);
-// }
-
-
 bool InsetSpace::isChar() const
 {
        return true;