+ struct GadgetInfo *gi = last_gi;
+ boolean gadget_changed = (gi->event_mask & GD_EVENT_TEXT_LEAVING);
+
+ /* check if text gadget has changed its value */
+ if (gi->type & GD_TYPE_TEXT_INPUT)
+ {
+ CheckRangeOfNumericInputGadget(gi);
+
+ if (!strEqual(gi->textinput.last_value, gi->textinput.value))
+ strcpy(gi->textinput.last_value, gi->textinput.value);
+ else
+ gadget_changed = FALSE;
+ }
+
+ /* selectbox does not change its value when closed by clicking outside */
+ if (gi->type & GD_TYPE_SELECTBOX)
+ gadget_changed = FALSE;