fix the wall of warnings on VS2022

This commit is contained in:
IoI_xD 2026-08-08 15:26:42 -07:00
commit bde66f13a5

View file

@ -43,9 +43,9 @@ static void color_set_disabled_if_disabled(MwWidget handle, MwLLColor rgb) {
MwLLColor c = handle->parent == NULL ? NULL : MwParseColor(handle->parent, MwGetText(handle->parent, MwNbackground)); MwLLColor c = handle->parent == NULL ? NULL : MwParseColor(handle->parent, MwGetText(handle->parent, MwNbackground));
if(c != NULL) { if(c != NULL) {
rgb->common.red = rgb->common.red + (c->common.red - rgb->common.red) * 0.5; rgb->common.red = (MwU8)(rgb->common.red + (c->common.red - rgb->common.red) * 0.5);
rgb->common.green = rgb->common.green + (c->common.green - rgb->common.green) * 0.5; rgb->common.green = (MwU8)(rgb->common.green + (c->common.green - rgb->common.green) * 0.5);
rgb->common.blue = rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5; rgb->common.blue = (MwU8)(rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5);
MwLLColorUpdate(handle->lowlevel, rgb, rgb->common.red, rgb->common.green, rgb->common.blue); MwLLColorUpdate(handle->lowlevel, rgb, rgb->common.red, rgb->common.green, rgb->common.blue);
MwLLFreeColor(c); MwLLFreeColor(c);
@ -124,8 +124,11 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) {
int ColorDiff = get_color_diff(handle); int ColorDiff = get_color_diff(handle);
double darkenStep = (ColorDiff / 2.) / rect->height; double darkenStep = (ColorDiff / 2.) / rect->height;
unsigned long sz = 1 * rect->height * 4; unsigned long sz = 1 * rect->height * 4;
unsigned char* data = malloc(sz); unsigned char* data = malloc(sz*2);
MwRect r = *rect; MwRect r = *rect;
if(!data) {
return;
}
if(rect->width <= 0 || rect->height <= 0) { if(rect->width <= 0 || rect->height <= 0) {
free(data); free(data);
return; return;
@ -138,7 +141,7 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) {
r.height -= 2; r.height -= 2;
for(y = 0; y < rect->height; y++) { for(y = 0; y < rect->height; y++) {
MwLLColor col = MwLightenColor(handle, color, -darken, -darken, -darken); MwLLColor col = MwLightenColor(handle, color, (int)-darken, (int)-darken, (int)-darken);
int idx = y * 4; int idx = y * 4;
color_set_disabled_if_disabled(handle, col); color_set_disabled_if_disabled(handle, col);
data[idx] = col->common.red; data[idx] = col->common.red;
@ -458,11 +461,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p1[1].x = rect->x; p1[1].x = rect->x;
p1[1].y = rect->y + rect->height; p1[1].y = rect->y + rect->height;
p1[2].x = rect->x + c * border; p1[2].x = (int)(rect->x + c * border);
p1[2].y = rect->y + rect->height - s * border; p1[2].y = (int)(rect->y + rect->height - s * border);
p1[3].x = rect->x + rect->width / 2; p1[3].x = rect->x + rect->width / 2;
p1[3].y = rect->y + border; p1[3].y = (int)(rect->y + border);
p2[0].x = rect->x + rect->width / 2; p2[0].x = rect->x + rect->width / 2;
p2[0].y = rect->y; p2[0].y = rect->y;
@ -470,14 +473,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p2[1].x = rect->x + rect->width; p2[1].x = rect->x + rect->width;
p2[1].y = rect->y + rect->height; p2[1].y = rect->y + rect->height;
p2[2].x = rect->x + rect->width - c * border; p2[2].x = (int)(rect->x + rect->width - c * border);
p2[2].y = rect->y + rect->height - s * border; p2[2].y = (int)(rect->y + rect->height - s * border);
p2[3].x = rect->x + rect->width / 2; p2[3].x = rect->x + rect->width / 2;
p2[3].y = rect->y + border; p2[3].y = (int)(rect->y + border);
p3[0].x = rect->x + c * border; p3[0].x = (int)(rect->x + c * border);
p3[0].y = rect->y + rect->height - s * border; p3[0].y = (int)(rect->y + rect->height - s * border);
p3[1].x = rect->x; p3[1].x = rect->x;
p3[1].y = rect->y + rect->height; p3[1].y = rect->y + rect->height;
@ -485,30 +488,30 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p3[2].x = rect->x + rect->width; p3[2].x = rect->x + rect->width;
p3[2].y = rect->y + rect->height; p3[2].y = rect->y + rect->height;
p3[3].x = rect->x + rect->width - c * border; p3[3].x = (int)(rect->x + rect->width - c * border);
p3[3].y = rect->y + rect->height - s * border; p3[3].y = (int)(rect->y + rect->height - s * border);
MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter);
MwLLPolygon(handle->lowlevel, p2, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p2, 4, invert ? lighter : darker);
MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker);
p4[0].x = rect->x + c * border; p4[0].x = (int)(rect->x + c * border);
p4[0].y = rect->y + rect->height - s * border; p4[0].y = (int)(rect->y + rect->height - s * border);
p4[1].x = rect->x + rect->width - c * border; p4[1].x = (int)(rect->x + rect->width - c * border);
p4[1].y = rect->y + rect->height - s * border; p4[1].y = (int)(rect->y + rect->height - s * border);
p4[2].x = rect->x + rect->width / 2; p4[2].x = rect->x + rect->width / 2;
p4[2].y = rect->y + border; p4[2].y = (int)(rect->y + border);
} else if(direction == MwSOUTH) { } else if(direction == MwSOUTH) {
p1[0].x = rect->x; p1[0].x = rect->x;
p1[0].y = rect->y; p1[0].y = rect->y;
p1[1].x = rect->x + c * border; p1[1].x = (int)(rect->x + c * border);
p1[1].y = rect->y + s * border; p1[1].y = (int)(rect->y + s * border);
p1[2].x = rect->x + rect->width - c * border; p1[2].x = (int)(rect->x + rect->width - c * border);
p1[2].y = rect->y + s * border; p1[2].y = (int)(rect->y + s * border);
p1[3].x = rect->x + rect->width; p1[3].x = rect->x + rect->width;
p1[3].y = rect->y; p1[3].y = rect->y;
@ -516,11 +519,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p2[0].x = rect->x; p2[0].x = rect->x;
p2[0].y = rect->y; p2[0].y = rect->y;
p2[1].x = rect->x + c * border; p2[1].x = (int)(rect->x + c * border);
p2[1].y = rect->y + s * border; p2[1].y = (int)(rect->y + s * border);
p2[2].x = rect->x + rect->width / 2; p2[2].x = rect->x + rect->width / 2;
p2[2].y = rect->y + rect->height - border; p2[2].y = (int)(rect->y + rect->height - border);
p2[3].x = rect->x + rect->width / 2; p2[3].x = rect->x + rect->width / 2;
p2[3].y = rect->y + rect->height; p2[3].y = rect->y + rect->height;
@ -532,32 +535,32 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p3[1].y = rect->y + rect->height; p3[1].y = rect->y + rect->height;
p3[2].x = rect->x + rect->width / 2; p3[2].x = rect->x + rect->width / 2;
p3[2].y = rect->y + rect->height - border; p3[2].y = (int)(rect->y + rect->height - border);
p3[3].x = rect->x + rect->width - c * border; p3[3].x = (int)(rect->x + rect->width - c * border);
p3[3].y = rect->y + s * border; p3[3].y = (int)(rect->y + s * border);
MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter);
MwLLPolygon(handle->lowlevel, p2, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p2, 4, invert ? darker : lighter);
MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker);
p4[0].x = rect->x + c * border; p4[0].x = (int)(rect->x + c * border);
p4[0].y = rect->y + s * border; p4[0].y = (int)(rect->y + s * border);
p4[1].x = rect->x + rect->width - c * border; p4[1].x = (int)(rect->x + rect->width - c * border);
p4[1].y = rect->y + s * border; p4[1].y = (int)(rect->y + s * border);
p4[2].x = rect->x + rect->width / 2; p4[2].x = rect->x + rect->width / 2;
p4[2].y = rect->y + rect->height - border; p4[2].y = (int)(rect->y + rect->height - border);
} else if(direction == MwEAST) { } else if(direction == MwEAST) {
p1[0].x = rect->x; p1[0].x = rect->x;
p1[0].y = rect->y; p1[0].y = rect->y;
p1[1].x = rect->x + c * border; p1[1].x = (int)(rect->x + c * border);
p1[1].y = rect->y + s * border; p1[1].y = (int)(rect->y + s * border);
p1[2].x = rect->x + c * border; p1[2].x = (int)(rect->x + c * border);
p1[2].y = rect->y + rect->height - s * border; p1[2].y = (int)(rect->y + rect->height - s * border);
p1[3].x = rect->x; p1[3].x = rect->x;
p1[3].y = rect->y + rect->height; p1[3].y = rect->y + rect->height;
@ -568,14 +571,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p2[1].x = rect->x + rect->width; p2[1].x = rect->x + rect->width;
p2[1].y = rect->y + rect->height / 2; p2[1].y = rect->y + rect->height / 2;
p2[2].x = rect->x + rect->width - border; p2[2].x = (int)(rect->x + rect->width - border);
p2[2].y = rect->y + rect->height / 2; p2[2].y = rect->y + rect->height / 2;
p2[3].x = rect->x + c * border; p2[3].x = (int)(rect->x + c * border);
p2[3].y = rect->y + s * border; p2[3].y = (int)(rect->y + s * border);
p3[0].x = rect->x + c * border; p3[0].x = (int)(rect->x + c * border);
p3[0].y = rect->y + rect->height - s * border; p3[0].y = (int)(rect->y + rect->height - s * border);
p3[1].x = rect->x; p3[1].x = rect->x;
p3[1].y = rect->y + rect->height; p3[1].y = rect->y + rect->height;
@ -583,30 +586,30 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p3[2].x = rect->x + rect->width; p3[2].x = rect->x + rect->width;
p3[2].y = rect->y + rect->height / 2; p3[2].y = rect->y + rect->height / 2;
p3[3].x = rect->x + rect->width - border; p3[3].x = (int)(rect->x + rect->width - border);
p3[3].y = rect->y + rect->height / 2; p3[3].y = rect->y + rect->height / 2;
MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter);
MwLLPolygon(handle->lowlevel, p2, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p2, 4, invert ? darker : lighter);
MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker);
p4[0].x = rect->x + rect->width - border; p4[0].x = (int)(rect->x + rect->width - border);
p4[0].y = rect->y + rect->height / 2; p4[0].y = rect->y + rect->height / 2;
p4[1].x = rect->x + c * border; p4[1].x = (int)(rect->x + c * border);
p4[1].y = rect->y + rect->height - s * border; p4[1].y = (int)(rect->y + rect->height - s * border);
p4[2].x = rect->x + c * border; p4[2].x = (int)(rect->x + c * border);
p4[2].y = rect->y + s * border; p4[2].y = (int)(rect->y + s * border);
} else if(direction == MwWEST) { } else if(direction == MwWEST) {
p1[0].x = rect->x; p1[0].x = rect->x;
p1[0].y = rect->y + rect->height / 2; p1[0].y = rect->y + rect->height / 2;
p1[1].x = rect->x + border; p1[1].x = (int)(rect->x + border);
p1[1].y = rect->y + rect->height / 2; p1[1].y = rect->y + rect->height / 2;
p1[2].x = rect->x + rect->width - c * border; p1[2].x = (int)(rect->x + rect->width - c * border);
p1[2].y = rect->y + s * border; p1[2].y = (int)(rect->y + s * border);
p1[3].x = rect->x + rect->width; p1[3].x = rect->x + rect->width;
p1[3].y = rect->y; p1[3].y = rect->y;
@ -614,11 +617,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p2[0].x = rect->x; p2[0].x = rect->x;
p2[0].y = rect->y + rect->height / 2; p2[0].y = rect->y + rect->height / 2;
p2[1].x = rect->x + border; p2[1].x = (int)(rect->x + border);
p2[1].y = rect->y + rect->height / 2; p2[1].y = rect->y + rect->height / 2;
p2[2].x = rect->x + rect->width - c * border; p2[2].x = (int)(rect->x + rect->width - c * border);
p2[2].y = rect->y + rect->height - s * border; p2[2].y = (int)(rect->y + rect->height - s * border);
p2[3].x = rect->x + rect->width; p2[3].x = rect->x + rect->width;
p2[3].y = rect->y + rect->height; p2[3].y = rect->y + rect->height;
@ -626,11 +629,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
p3[0].x = rect->x + rect->width; p3[0].x = rect->x + rect->width;
p3[0].y = rect->y; p3[0].y = rect->y;
p3[1].x = rect->x + rect->width - c * border; p3[1].x = (int)(rect->x + rect->width - c * border);
p3[1].y = rect->y + s * border; p3[1].y = (int)(rect->y + s * border);
p3[2].x = rect->x + rect->width - c * border; p3[2].x = (int)(rect->x + rect->width - c * border);
p3[2].y = rect->y + rect->height - s * border; p3[2].y = (int)(rect->y + rect->height - s * border);
p3[3].x = rect->x + rect->width; p3[3].x = rect->x + rect->width;
p3[3].y = rect->y + rect->height; p3[3].y = rect->y + rect->height;
@ -639,14 +642,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert,
MwLLPolygon(handle->lowlevel, p2, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p2, 4, invert ? lighter : darker);
MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker);
p4[0].x = rect->x + border; p4[0].x = (int)(rect->x + border);
p4[0].y = rect->y + rect->height / 2; p4[0].y = rect->y + rect->height / 2;
p4[1].x = rect->x + rect->width - c * border; p4[1].x = (int)(rect->x + rect->width - c * border);
p4[1].y = rect->y + rect->height - s * border; p4[1].y = (int)(rect->y + rect->height - s * border);
p4[2].x = rect->x + rect->width - c * border; p4[2].x = (int)(rect->x + rect->width - c * border);
p4[2].y = rect->y + s * border; p4[2].y = (int)(rect->y + s * border);
} }
MwLLPolygon(handle->lowlevel, p4, 3, col); MwLLPolygon(handle->lowlevel, p4, 3, col);
@ -830,13 +833,13 @@ void MwPixmapReloadRaw(MwLLPixmap px, unsigned char* rgb) {
a /= 255; a /= 255;
if(a != 0) { if(a != 0) {
pout[0] = pin[0] * a; pout[0] = (unsigned char)(pin[0] * a);
pout[1] = pin[1] * a; pout[1] = (unsigned char)(pin[1] * a);
pout[2] = pin[2] * a; pout[2] = (unsigned char)(pin[2] * a);
pout[0] += base->common.red * (1 - a); pout[0] += (unsigned char)(base->common.red * (1 - a));
pout[1] += base->common.green * (1 - a); pout[1] += (unsigned char)(base->common.green * (1 - a));
pout[2] += base->common.blue * (1 - a); pout[2] += (unsigned char)(base->common.blue * (1 - a));
pout[3] = 255; pout[3] = 255;
} }
} }
@ -868,6 +871,11 @@ MwLLPixmap MwLoadIcon(MwWidget handle, MwU32* data) {
MwLLPixmap px; MwLLPixmap px;
int i; int i;
if(!rgba) {
printf("Null malloc! out of memory?\n");
return NULL;
}
memset(rgba, 0, width * height * 4); memset(rgba, 0, width * height * 4);
for(i = 0; i < width * height; i++) { for(i = 0; i < width * height; i++) {
@ -905,7 +913,11 @@ MwLLPixmap MwLoadXPM(MwWidget handle, char** data) {
sh_new_strdup(c); sh_new_strdup(c);
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
sscanf_s(data[0], "%d %d %d %d", &col, &row, &colors, &cpp);
#else
sscanf(data[0], "%d %d %d %d", &col, &row, &colors, &cpp); sscanf(data[0], "%d %d %d %d", &col, &row, &colors, &cpp);
#endif
for(i = 0; i < colors; i++) { for(i = 0; i < colors; i++) {
char k[128]; char k[128];
@ -942,6 +954,10 @@ MwLLPixmap MwLoadXPM(MwWidget handle, char** data) {
rgb = malloc(row * col * 4); rgb = malloc(row * col * 4);
comp = malloc(cpp + 1); comp = malloc(cpp + 1);
if(!rgb || !comp) {
printf("Null malloc! Out of memory?");
return NULL;
}
comp[cpp] = 0; comp[cpp] = 0;
for(y = 0; y < row; y++) { for(y = 0; y < row; y++) {
for(x = 0; x < col; x++) { for(x = 0; x < col; x++) {