form para crash fix from John

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3102 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2001-11-28 11:04:31 +00:00
parent 0e92b177af
commit cb52251ccf
5 changed files with 26 additions and 16 deletions

View File

@ -1,3 +1,7 @@
2001-11-26 John Levon <moz@compsoc.man.ac.uk>
* vspace.C: initialise lyxgluelength on failure
2001-11-28 Allan Rae <rae@lyx.org> 2001-11-28 Allan Rae <rae@lyx.org>
* text.C (paintLastRow): g++-2.95.3 and others don't like variable * text.C (paintLastRow): g++-2.95.3 and others don't like variable

View File

@ -1,3 +1,8 @@
2001-11-23 John Levon <moz@compsoc.man.ac.uk>
* FormParagraph.C: allow signed space above/below, actually
use space below units
2001-11-04 John Levon <moz@compsoc.man.ac.uk> 2001-11-04 John Levon <moz@compsoc.man.ac.uk>
* FormToc.C: fixes to make floatlists work * FormToc.C: fixes to make floatlists work

View File

@ -120,8 +120,8 @@ void FormParagraph::build()
fl_set_input_return(dialog_->input_labelwidth, FL_RETURN_CHANGED); fl_set_input_return(dialog_->input_labelwidth, FL_RETURN_CHANGED);
fl_set_input_return(dialog_->input_linespacing, FL_RETURN_CHANGED); fl_set_input_return(dialog_->input_linespacing, FL_RETURN_CHANGED);
fl_set_input_filter(dialog_->input_linespacing, fl_unsigned_float_filter); fl_set_input_filter(dialog_->input_linespacing, fl_unsigned_float_filter);
fl_set_input_filter(dialog_->input_space_above, fl_unsigned_float_filter); fl_set_input_filter(dialog_->input_space_above, fl_float_filter);
fl_set_input_filter(dialog_->input_space_below, fl_unsigned_float_filter); fl_set_input_filter(dialog_->input_space_below, fl_float_filter);
// Create the contents of the unit choices // Create the contents of the unit choices
// Don't include the "%" terms... // Don't include the "%" terms...
@ -244,8 +244,10 @@ void FormParagraph::apply()
space_bottom = VSpace(VSpace::VFILL); space_bottom = VSpace(VSpace::VFILL);
break; break;
case 7: case 7:
space_bottom = string const length =
VSpace(LyXGlueLength(fl_get_input(dialog_->input_space_below))); getLengthFromWidgets(dialog_->input_space_below,
dialog_->choice_value_space_below);
space_bottom = VSpace(LyXGlueLength(length));
break; break;
} }
if (fl_get_button (dialog_->check_space_below)) if (fl_get_button (dialog_->check_space_below))

View File

@ -423,8 +423,7 @@ int Combox::peek_event(FL_FORM * form, void * xev)
FL_OBJECT * ob = static_cast<FL_OBJECT *>(form->u_vdata); FL_OBJECT * ob = static_cast<FL_OBJECT *>(form->u_vdata);
Combox * combo = static_cast<Combox*>(ob->u_vdata); Combox * combo = static_cast<Combox*>(ob->u_vdata);
// I don't know why belowmouse does not work, but it doesn't. (Asger) // below mouse does not work like we need it
// Are we sure? Please verify. (Lgb)
if (static_cast<XEvent *>(xev)->type == ButtonPress && ( if (static_cast<XEvent *>(xev)->type == ButtonPress && (
static_cast<XEvent *>(xev)->xbutton.x - ob->x < 0 || static_cast<XEvent *>(xev)->xbutton.x - ob->x < 0 ||
static_cast<XEvent *>(xev)->xbutton.x - ob->x > ob->w || static_cast<XEvent *>(xev)->xbutton.x - ob->x > ob->w ||

View File

@ -361,16 +361,16 @@ LyXGlueLength::LyXGlueLength (string const & data)
{ {
LyXGlueLength tmp(0.0, PT); LyXGlueLength tmp(0.0, PT);
if (!isValidGlueLength (data, &tmp)) // we should really raise exception here
return; // should raise an exception if (!isValidGlueLength(data, &tmp))
else { ;
val = tmp.val; val = tmp.val;
uni = tmp.uni; uni = tmp.uni;
plus_val = tmp.plus_val; plus_val = tmp.plus_val;
plus_uni = tmp.plus_uni; plus_uni = tmp.plus_uni;
minus_val = tmp.minus_val; minus_val = tmp.minus_val;
minus_uni = tmp.minus_uni; minus_uni = tmp.minus_uni;
}
} }