]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_hullinset.C
Fix to bug 2362: Deleting superscript also deletes subscript.
[lyx.git] / src / mathed / math_hullinset.C
index ed159c05afd66ca6cead4cbbe6a13b25f16b1ecb..da192918b999b6b0467740723169a9dcd515c0e4 100644 (file)
@@ -143,6 +143,7 @@ MathHullInset::MathHullInset()
        //lyxerr << "sizeof MetricsInfo: " << sizeof(MetricsInfo) << endl;
        //lyxerr << "sizeof MathCharInset: " << sizeof(MathCharInset) << endl;
        //lyxerr << "sizeof LyXFont: " << sizeof(LyXFont) << endl;
+       initMath();
        setDefaults();
 }
 
@@ -151,6 +152,7 @@ MathHullInset::MathHullInset(string const & type)
        : MathGridInset(getCols(type), 1), type_(type), nonum_(1), label_(1),
          preview_(new RenderPreview(this))
 {
+       initMath();
        setDefaults();
 }
 
@@ -984,14 +986,14 @@ void MathHullInset::doExtern(LCursor & cur, FuncRequest & func)
 
 void MathHullInset::doDispatch(LCursor & cur, FuncRequest & cmd)
 {
-       lyxerr << "action: " << cmd.action << endl;
+       //lyxerr << "action: " << cmd.action << endl;
        switch (cmd.action) {
 
        case LFUN_FINISHED_LEFT:
        case LFUN_FINISHED_RIGHT:
        case LFUN_FINISHED_UP:
        case LFUN_FINISHED_DOWN:
-               lyxerr << "action: " << cmd.action << endl;
+               //lyxerr << "action: " << cmd.action << endl;
                MathGridInset::doDispatch(cur, cmd);
                notifyCursorLeaves(cur);
                cur.undispatched();
@@ -1044,8 +1046,10 @@ void MathHullInset::doDispatch(LCursor & cur, FuncRequest & cmd)
                string old_label = label(r);
                string const default_label =
                        (lyxrc.label_init_length >= 0) ? "eq:" : "";
+               if (old_label.empty())
+                       old_label = default_label;
                string const contents = cmd.argument.empty() ?
-                       label(r) : cmd.argument;
+                       old_label : cmd.argument;
 
                InsetCommandParams p("label", contents);
                string const data = InsetCommandMailer::params2string("label", p);
@@ -1207,6 +1211,9 @@ bool MathHullInset::getStatus(LCursor & cur, FuncRequest const & cmd,
        default:
                return MathGridInset::getStatus(cur, cmd, status);
        }
+
+       // This cannot really happen, but inserted to shut-up gcc
+       return MathGridInset::getStatus(cur, cmd, status);
 }