This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project wmaker-crm.git.
The branch, next has been updated via b1a4f4cf360a3f5e6e58b65e7b33113bac96c69c (commit) via cf8a02b44cc79b3606d63502835b71d07bdf9b39 (commit) via e6b3a5809be3de7ecc2f631cff3e4e4cf118e291 (commit) via 57f0c778f8f8942ef09486a9efd3491ccda4dbcf (commit) via 5b76dd6f43db0809a9ffd67dcf7f418144f1d397 (commit) via e12cc301b802b99384c9b0ce61ae86bffff10cf5 (commit) via cb407508e9e0beb9ba58d041ed5d5c2d8e462701 (commit) via b40287f82f8c469c3f3881e7fe639d42250c11ad (commit) via a686873c2e456d034099d3d3723e21046854680c (commit) via 7d233d8127c22d805f13314d38427d241b573876 (commit) via 65dc99d805efc0cd9b277cbae1d42c5272e7db50 (commit) via e09df80774902d6bedea8685ac3a1ddc2443a3d3 (commit) from f84ceebd582737cc1e4c4c45b6e5ae12cbdbf136 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://repo.or.cz/w/wmaker-crm.git/commit/b1a4f4cf360a3f5e6e58b65e7b33113bac96c69c commit b1a4f4cf360a3f5e6e58b65e7b33113bac96c69c Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:31 2014 +0200 WPrefs: Value stored to 'timage' is never read three times in a row Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/WPrefs.app/Appearance.c b/WPrefs.app/Appearance.c index 861b1ab2..90690ac8 100644 --- a/WPrefs.app/Appearance.c +++ b/WPrefs.app/Appearance.c @@ -645,18 +645,15 @@ static Pixmap renderTexture(WMScreen * scr, WMPropList * texture, int width, int case 'T': image = RMakeTiledImage(timage, width, height); RReleaseImage(timage); - timage = image; break; case 'C': image = RMakeCenteredImage(timage, width, height, &color); RReleaseImage(timage); - timage = image; break; case 'S': case 'M': image = RScaleImage(timage, width, height); RReleaseImage(timage); - timage = image; break; } } http://repo.or.cz/w/wmaker-crm.git/commit/cf8a02b44cc79b3606d63502835b71d07bdf9b39 commit cf8a02b44cc79b3606d63502835b71d07bdf9b39 Author: Doug Torrance <dtorra...@monmouthcollege.edu> Date: Thu May 15 22:17:17 2014 -0500 add util/wmiv to .gitignore diff --git a/.gitignore b/.gitignore index 2dc28602..bda811c3 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,7 @@ util/wdwrite util/wmagnify util/wmaker.inst util/wmgenmenu +util/wmiv util/wmmenugen util/wmsetbg util/wmsetup http://repo.or.cz/w/wmaker-crm.git/commit/e6b3a5809be3de7ecc2f631cff3e4e4cf118e291 commit e6b3a5809be3de7ecc2f631cff3e4e4cf118e291 Author: Doug Torrance <dtorra...@monmouthcollege.edu> Date: Thu May 15 22:12:57 2014 -0500 WPrefs: fix segfault when image not found Previously, when an image could not be loaded by WPrefs when rendering textures for the Appearances panel, a segfault would occur. This could happen, e.g., if a user moved or deleted an image file without editing their ~/GNUstep/Defaults/ WindowMaker file. This patch first checks if a texture contains an image, and if it does, it checks to see if that image can be loaded. If it can't, a solid black texture is loaded instead. The patch also has the added benefit of combining some of the code used for rendering both pixmap and textured gradient textures. diff --git a/WPrefs.app/Appearance.c b/WPrefs.app/Appearance.c index 12ee13c8..861b1ab2 100644 --- a/WPrefs.app/Appearance.c +++ b/WPrefs.app/Appearance.c @@ -491,6 +491,7 @@ static Pixmap renderTexture(WMScreen * scr, WMPropList * texture, int width, int { char *type; RImage *image = NULL; + RImage *timage = NULL; Pixmap pixmap; RContext *rc = WMScreenRContext(scr); char *str; @@ -498,6 +499,22 @@ static Pixmap renderTexture(WMScreen * scr, WMPropList * texture, int width, int type = WMGetFromPLString(WMGetFromPLArray(texture, 0)); + if (strcasecmp(&type[1], "pixmap") == 0 || + (strcasecmp(&type[2], "gradient") == 0 && toupper(type[0]) == 'T')) { + char *path; + + str = WMGetFromPLString(WMGetFromPLArray(texture, 1)); + if ((path = wfindfileinarray(GetObjectForKey("PixmapPath"), str)) != NULL) { + timage = RLoadImage(rc, path, 0); + } + if (!path || !timage) { + wwarning("could not load file '%s': %s", path ? path : str, RMessageForError(RErrorCode)); + texture = WMCreatePropListFromDescription("(solid, black)"); + type = "solid"; + } + wfree(path); + } + if (strcasecmp(type, "solid") == 0) { str = WMGetFromPLString(WMGetFromPLArray(texture, 1)); @@ -552,8 +569,7 @@ static Pixmap renderTexture(WMScreen * scr, WMPropList * texture, int width, int int style; RColor rcolor2; int i; - RImage *grad, *timage = NULL; - char *path; + RImage *grad = NULL; switch (toupper(type[1])) { case 'V': @@ -573,24 +589,16 @@ static Pixmap renderTexture(WMScreen * scr, WMPropList * texture, int width, int str = WMGetFromPLString(WMGetFromPLArray(texture, 4)); str2rcolor(rc, str, &rcolor2); - str = WMGetFromPLString(WMGetFromPLArray(texture, 1)); + grad = RRenderGradient(width, height, &rcolor, &rcolor2, style); - if ((path = wfindfileinarray(GetObjectForKey("PixmapPath"), str)) != NULL) - timage = RLoadImage(rc, path, 0); + image = RMakeTiledImage(timage, width, height); + RReleaseImage(timage); - if (!path || !timage) { - wwarning("could not load file '%s': %s", path, RMessageForError(RErrorCode)); - } else { - grad = RRenderGradient(width, height, &rcolor, &rcolor2, style); + i = atoi(WMGetFromPLString(WMGetFromPLArray(texture, 2))); - image = RMakeTiledImage(timage, width, height); - RReleaseImage(timage); + RCombineImagesWithOpaqueness(image, grad, i); + RReleaseImage(grad); - i = atoi(WMGetFromPLString(WMGetFromPLArray(texture, 2))); - - RCombineImagesWithOpaqueness(image, grad, i); - RReleaseImage(grad); - } } else if (strcasecmp(&type[2], "gradient") == 0 && toupper(type[0]) == 'M') { int style; RColor **colors; @@ -628,42 +636,29 @@ static Pixmap renderTexture(WMScreen * scr, WMPropList * texture, int width, int wfree(colors); } } else if (strcasecmp(&type[1], "pixmap") == 0) { - RImage *timage = NULL; - char *path; RColor color; - str = WMGetFromPLString(WMGetFromPLArray(texture, 1)); - - if ((path = wfindfileinarray(GetObjectForKey("PixmapPath"), str)) != NULL) - timage = RLoadImage(rc, path, 0); - - if (!path || !timage) { - wwarning("could not load file '%s': %s", path ? path : str, RMessageForError(RErrorCode)); - } else { - str = WMGetFromPLString(WMGetFromPLArray(texture, 2)); - str2rcolor(rc, str, &color); - - switch (toupper(type[0])) { - case 'T': - image = RMakeTiledImage(timage, width, height); - RReleaseImage(timage); - timage = image; - break; - case 'C': - image = RMakeCenteredImage(timage, width, height, &color); - RReleaseImage(timage); - timage = image; - break; - case 'S': - case 'M': - image = RScaleImage(timage, width, height); - RReleaseImage(timage); - timage = image; - break; - } + str = WMGetFromPLString(WMGetFromPLArray(texture, 2)); + str2rcolor(rc, str, &color); + switch (toupper(type[0])) { + case 'T': + image = RMakeTiledImage(timage, width, height); + RReleaseImage(timage); + timage = image; + break; + case 'C': + image = RMakeCenteredImage(timage, width, height, &color); + RReleaseImage(timage); + timage = image; + break; + case 'S': + case 'M': + image = RScaleImage(timage, width, height); + RReleaseImage(timage); + timage = image; + break; } - wfree(path); } if (!image) http://repo.or.cz/w/wmaker-crm.git/commit/57f0c778f8f8942ef09486a9efd3491ccda4dbcf commit 57f0c778f8f8942ef09486a9efd3491ccda4dbcf Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:38 2014 +0200 WINGs: actually assign variable Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/WINGs/wtext.c b/WINGs/wtext.c index 609014e3..5fcf40cc 100644 --- a/WINGs/wtext.c +++ b/WINGs/wtext.c @@ -3299,7 +3299,7 @@ WMSetTextBlockProperties(WMText * tPtr, void *vtb, unsigned int first, void WMGetTextBlockProperties(WMText * tPtr, void *vtb, unsigned int *first, - unsigned int *kanji, unsigned int *underlined, int *script, WMRulerMargins * margins) + unsigned int *kanji, unsigned int *underlined, int *script, WMRulerMargins *margins) { TextBlock *tb = (TextBlock *) vtb; if (!tb) @@ -3314,7 +3314,7 @@ WMGetTextBlockProperties(WMText * tPtr, void *vtb, unsigned int *first, if (script) *script = tb->script; if (margins) - margins = &tPtr->margins[tb->marginN]; + *margins = tPtr->margins[tb->marginN]; } void WMPrependTextBlock(WMText * tPtr, void *vtb) http://repo.or.cz/w/wmaker-crm.git/commit/5b76dd6f43db0809a9ffd67dcf7f418144f1d397 commit 5b76dd6f43db0809a9ffd67dcf7f418144f1d397 Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:37 2014 +0200 WINGs: Value stored to 'pos'|'_w'|'done' is never read Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/WINGs/wtext.c b/WINGs/wtext.c index 3d5fb266..609014e3 100644 --- a/WINGs/wtext.c +++ b/WINGs/wtext.c @@ -1023,7 +1023,6 @@ static void cursorToTextPosition(Text * tPtr, int x, int y) if ((dir ? tb->next : tb->prior)) { tb = (dir ? tb->next : tb->prior); } else { - pos = tb->used; break; /* goto _doneH; */ } } @@ -1048,9 +1047,6 @@ static void cursorToTextPosition(Text * tPtr, int x, int y) } } - if (tb->blank) - _w = 0; - _y = tb->sections[s]._y; while (tb) { @@ -1117,7 +1113,6 @@ static void cursorToTextPosition(Text * tPtr, int x, int y) if ((dir ? tb->next : tb->prior)) { tb = (dir ? tb->next : tb->prior); } else { - done = True; break; } http://repo.or.cz/w/wmaker-crm.git/commit/e12cc301b802b99384c9b0ce61ae86bffff10cf5 commit e12cc301b802b99384c9b0ce61ae86bffff10cf5 Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:36 2014 +0200 WINGs: Value stored to 'scroll' is never read it is assigned after doing switch() {} so values assigned in switch() are dropped anyway Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/WINGs/wtext.c b/WINGs/wtext.c index 80295bcb..3d5fb266 100644 --- a/WINGs/wtext.c +++ b/WINGs/wtext.c @@ -1253,7 +1253,6 @@ static void scrollersCallBack(WMWidget * w, void *self) tPtr->vpos -= 16; else tPtr->vpos = 0; - scroll = True; } break; @@ -1264,7 +1263,6 @@ static void scrollersCallBack(WMWidget * w, void *self) tPtr->vpos += 16; else tPtr->vpos = limit; - scroll = True; } } break; @@ -1274,21 +1272,17 @@ static void scrollersCallBack(WMWidget * w, void *self) tPtr->vpos -= height; else tPtr->vpos = 0; - - scroll = True; break; case WSIncrementPage: tPtr->vpos += height; if (tPtr->vpos > (tPtr->docHeight - height)) tPtr->vpos = tPtr->docHeight - height; - scroll = True; break; case WSKnob: tPtr->vpos = WMGetScrollerValue(tPtr->vS) * (float)(tPtr->docHeight - height); - scroll = True; break; case WSKnobSlot: @@ -1311,7 +1305,6 @@ static void scrollersCallBack(WMWidget * w, void *self) tPtr->hpos -= 16; else tPtr->hpos = 0; - scroll = True; } break; @@ -1322,7 +1315,6 @@ static void scrollersCallBack(WMWidget * w, void *self) tPtr->hpos += 16; else tPtr->hpos = limit; - scroll = True; } } break; @@ -1332,21 +1324,17 @@ static void scrollersCallBack(WMWidget * w, void *self) tPtr->hpos -= width; else tPtr->hpos = 0; - - scroll = True; break; case WSIncrementPage: tPtr->hpos += width; if (tPtr->hpos > (tPtr->docWidth - width)) tPtr->hpos = tPtr->docWidth - width; - scroll = True; break; case WSKnob: tPtr->hpos = WMGetScrollerValue(tPtr->hS) * (float)(tPtr->docWidth - width); - scroll = True; break; case WSKnobSlot: http://repo.or.cz/w/wmaker-crm.git/commit/cb407508e9e0beb9ba58d041ed5d5c2d8e462701 commit cb407508e9e0beb9ba58d041ed5d5c2d8e462701 Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:35 2014 +0200 WINGs: Called function pointer is null (null dereference) make sure that we have function to call Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/WINGs/tree.c b/WINGs/tree.c index 457ca833..f6646848 100644 --- a/WINGs/tree.c +++ b/WINGs/tree.c @@ -200,7 +200,7 @@ static WMTreeNode *findNodeInTree(WMTreeNode * aNode, WMMatchDataProc * match, v { if (match == NULL && aNode->data == cdata) return aNode; - else if ((*match) (aNode->data, cdata)) + else if (match && (*match) (aNode->data, cdata)) return aNode; if (aNode->leaves && limit != 0) { http://repo.or.cz/w/wmaker-crm.git/commit/b40287f82f8c469c3f3881e7fe639d42250c11ad commit b40287f82f8c469c3f3881e7fe639d42250c11ad Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:34 2014 +0200 wrlib: wrong type in sizeof Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/wrlib/load_gif.c b/wrlib/load_gif.c index acbf7da1..7a6cfc7f 100644 --- a/wrlib/load_gif.c +++ b/wrlib/load_gif.c @@ -121,7 +121,7 @@ RImage *RLoadGIF(const char *file, int index) } } - buffer = malloc(width * sizeof(GifColorType)); + buffer = malloc(width * sizeof(GifPixelType)); if (!buffer) { RErrorCode = RERR_NOMEMORY; goto bye; http://repo.or.cz/w/wmaker-crm.git/commit/a686873c2e456d034099d3d3723e21046854680c commit a686873c2e456d034099d3d3723e21046854680c Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:33 2014 +0200 wrlib: wrong type in sizeof Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/wrlib/load_png.c b/wrlib/load_png.c index fa6723da..52148a8d 100644 --- a/wrlib/load_png.c +++ b/wrlib/load_png.c @@ -160,7 +160,7 @@ RImage *RLoadPNG(RContext *context, const char *file) image->background.blue = bkcolor->blue >> 8; } - png_rows = calloc(height, sizeof(char *)); + png_rows = calloc(height, sizeof(png_bytep)); if (!png_rows) { RErrorCode = RERR_NOMEMORY; fclose(f); http://repo.or.cz/w/wmaker-crm.git/commit/7d233d8127c22d805f13314d38427d241b573876 commit 7d233d8127c22d805f13314d38427d241b573876 Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:32 2014 +0200 wrlib: potentially incorrect sizeof in malloc Result of 'malloc' is converted to a pointer of type 'unsigned char', which is incompatible with sizeof operand type 'char' Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/wrlib/load_xpm.c b/wrlib/load_xpm.c index 441d957c..35adbb12 100644 --- a/wrlib/load_xpm.c +++ b/wrlib/load_xpm.c @@ -79,7 +79,7 @@ RImage *RGetImageFromXPMData(RContext * context, char **xpmData) /* make color table */ for (i = 0; i < 4; i++) { - color_table[i] = malloc(xpm.ncolors * sizeof(char)); + color_table[i] = malloc(xpm.ncolors * sizeof(unsigned char)); if (!color_table[i]) { for (i = i - 1; i >= 0; i--) { if (color_table[i]) @@ -199,7 +199,7 @@ RImage *RLoadXPM(RContext * context, const char *file) /* make color table */ for (i = 0; i < 4; i++) { - color_table[i] = malloc(xpm.ncolors * sizeof(char)); + color_table[i] = malloc(xpm.ncolors * sizeof(unsigned char)); if (!color_table[i]) { for (i = i - 1; i >= 0; i--) { if (color_table[i]) http://repo.or.cz/w/wmaker-crm.git/commit/65dc99d805efc0cd9b277cbae1d42c5272e7db50 commit 65dc99d805efc0cd9b277cbae1d42c5272e7db50 Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:30 2014 +0200 wmlib: Potential leak of memory pointed to by 'entry' two similar ones, if we return then free allocated memory Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/wmlib/menu.c b/wmlib/menu.c index 03784273..9a08ba5c 100644 --- a/wmlib/menu.c +++ b/wmlib/menu.c @@ -84,6 +84,7 @@ WMMenuAddItem(WMMenu * menu, char *text, WMMenuAction action, entry->entryline = malloc(strlen(text) + 100); if (!entry->entryline) { free(menu); + free(entry); return -1; } @@ -132,6 +133,7 @@ int WMMenuAddSubmenu(WMMenu * menu, char *text, WMMenu * submenu) entry->entryline = malloc(strlen(text) + 100); if (!entry->entryline) { free(menu); + free(entry); return -1; } http://repo.or.cz/w/wmaker-crm.git/commit/e09df80774902d6bedea8685ac3a1ddc2443a3d3 commit e09df80774902d6bedea8685ac3a1ddc2443a3d3 Author: Amadeusz Sławiński <am...@asmblr.net> Date: Tue May 13 23:41:29 2014 +0200 wrlib: Potential leak of memory pointed to by 'tmpp' Signed-off-by: Amadeusz Sławiński <am...@asmblr.net> diff --git a/wrlib/convolve.c b/wrlib/convolve.c index 57072f05..a152e267 100644 --- a/wrlib/convolve.c +++ b/wrlib/convolve.c @@ -135,6 +135,8 @@ int RBlurImage(RImage * image) } } + free(tmpp); + return True; } ----------------------------------------------------------------------- Summary of changes: .gitignore | 1 + WINGs/tree.c | 2 +- WINGs/wtext.c | 21 +---------- WPrefs.app/Appearance.c | 88 +++++++++++++++++++++------------------------- wmlib/menu.c | 2 + wrlib/convolve.c | 2 + wrlib/load_gif.c | 2 +- wrlib/load_png.c | 2 +- wrlib/load_xpm.c | 4 +- 9 files changed, 52 insertions(+), 72 deletions(-) repo.or.cz automatic notification. Contact project admin crma...@gmail.com if you want to unsubscribe, or site admin ad...@repo.or.cz if you receive no reply. -- wmaker-crm.git ("The Window Maker window manager") -- To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.