diff options
-rw-r--r-- | src/Actions.c | 3 | ||||
-rw-r--r-- | src/DisplayList.c | 20 | ||||
-rw-r--r-- | src/Text.c | 6 | ||||
-rw-r--r-- | src/TextAction.c | 3 |
4 files changed, 24 insertions, 8 deletions
diff --git a/src/Actions.c b/src/Actions.c index 203251b..0432627 100644 --- a/src/Actions.c +++ b/src/Actions.c @@ -156,7 +156,8 @@ XawParseBoolean(Widget w, String param, XEvent *event, Bool *succeed) else { char *tmp = (char *)param; - int value = (int) strtod(param, &tmp); + double dd = strtod(param, &tmp); + int value = (int) dd; if (*tmp == '\0') return (value); diff --git a/src/DisplayList.c b/src/DisplayList.c index b351305..a2d3c3a 100644 --- a/src/DisplayList.c +++ b/src/DisplayList.c @@ -1746,7 +1746,10 @@ _Xaw_Xlib_ArgsInitProc(String proc_name, String *params, Cardinal *num_params, break; case LWIDTH: if (*num_params == 1) - retval = (void *)read_int((char *)params[0], NULL); + { + long x = read_int((char *)params[0], NULL); + retval = (void *)x; + } break; case ARCMODE: if (*num_params == 1) @@ -1891,7 +1894,10 @@ _Xaw_Xlib_ArgsInitProc(String proc_name, String *params, Cardinal *num_params, break; case PLANEMASK: if (*num_params == 1) - retval = (void *)read_int((char *)params[0], NULL); + { + long x = read_int((char *)params[0], NULL); + retval = (void *)x; + } break; case DSTRING: case PSTRING: @@ -1909,7 +1915,10 @@ _Xaw_Xlib_ArgsInitProc(String proc_name, String *params, Cardinal *num_params, break; case FONT: if (*num_params == 1) - retval = (void *)XLoadFont(DisplayOfScreen(screen), params[0]); + { + Font x = XLoadFont(DisplayOfScreen(screen), params[0]); + retval = (void *)x; + } break; case DASHES: if (*num_params && *num_params < 127) @@ -1937,7 +1946,10 @@ _Xaw_Xlib_ArgsInitProc(String proc_name, String *params, Cardinal *num_params, if (*num_params == 1) { if (isdigit((unsigned char)params[0][0]) || params[0][0] == '+' || params[0][0] == '-') - retval = (void *)read_int((char *)params[0], NULL); + { + long x = read_int((char *)params[0], NULL); + retval = (void *)x; + } else if (XmuCompareISOLatin1(params[0], "true") == 0 || XmuCompareISOLatin1(params[0], "on") == 0) retval = (void *)True; @@ -1506,7 +1506,8 @@ _XawTextSetScrollBars(TextWidget ctx) } if (ctx->text.scroll_horiz == XawtextScrollAlways) { - float denom = (float)GetWidestLine(ctx); + unsigned value = GetWidestLine(ctx); + float denom = (float)value; float widest; if (denom <= 0) @@ -1765,10 +1766,11 @@ HJump(Widget w, XtPointer closure, XtPointer callData) { TextWidget ctx = (TextWidget)closure; float percent = *(float *)callData; + unsigned value = GetWidestLine(ctx); long pixels; pixels = ctx->text.left_margin - - (ctx->text.r_margin.left - (int)(percent * (float)GetWidestLine(ctx))); + (ctx->text.r_margin.left - (int)(percent * (float)value)); HScroll(w, (XtPointer)ctx, (XtPointer)pixels); } diff --git a/src/TextAction.c b/src/TextAction.c index 59ac6ac..254a785 100644 --- a/src/TextAction.c +++ b/src/TextAction.c @@ -1403,7 +1403,8 @@ DeleteChar(Widget w, XEvent *event, XawTextScanDirection dir) short mul = MULT(ctx); if (mul < 0) { - ctx->text.mult = mul = (short)(-mul); + mul = -mul; + ctx->text.mult = mul; dir = dir == XawsdLeft ? XawsdRight : XawsdLeft; } DeleteOrKill(ctx, event, dir, XawstPositions, True, False); |