Hi,
It is nice to see that the development continues.
I went through the patches in openSUSE distribution. The followig
patches fixes some problems that are still present in the last snapshot on
http://www.windowmaker.info/
WindowMaker-wmspec.c-findBestIcon.patch
- fixes https://bugzilla.novell.com/show_bug.cgi?id=371974
WindowMaker-warnings.patch
WindowMaker-null.patch
WindowMaker-event.patch
WindowMaker-dir-specification.patch
WindowMaker-0.92.0-printf.diff
- fixed various compiler warnings, some of them could be dangerous
WindowMaker-crash.patch
- fixes possible segfault
WindowMaker-fonts.patch
- less strict font requirements,
https://bugzilla.novell.com/show_bug.cgi?id=154758
WindowMaker-de_translation.patch
- more politically correct German translation
From other changes, there is an issue with po files: no.po should be renamed
to nb.po.
Vladimir
--- src/wmspec.c
+++ src/wmspec.c
@@ -402,7 +402,7 @@
* results in better overall aesthetics -Dan */
wanted = wPreferences.icon_size * wPreferences.icon_size;
- for (icon=NULL, distance=LONG_MAX, i=0L; i<items-1; ) {
+ for (icon=NULL, distance=wanted, i=0L; i<items-1; ) {
size = data[i] * data[i+1];
if (size==0)
break;
--- WINGs/Examples/puzzle.c
+++ WINGs/Examples/puzzle.c
@@ -12,7 +12,7 @@
WMWindow *win;
WMButton *Button[MAX_SIZE];
-char Map[MAX_SIZE];
+signed char Map[MAX_SIZE];
int Size = 4;
int MoveCount;
--- WINGs/WINGs/WUtil.h
+++ WINGs/WINGs/WUtil.h
@@ -216,11 +216,11 @@
/* don't free the returned string */
char* wstrerror(int errnum);
-void wmessage(const char *msg, ...);
-void wwarning(const char *msg, ...);
-void wfatal(const char *msg, ...);
-void wsyserror(const char *msg, ...);
-void wsyserrorwithcode(int error, const char *msg, ...);
+void wmessage(const char *msg, ...) __attribute__((__format__(printf,1,2)));
+void wwarning(const char *msg, ...) __attribute__((__format__(printf,1,2)));
+void wfatal(const char *msg, ...) __attribute__((__format__(printf,1,2)));
+void wsyserror(const char *msg, ...) __attribute__((__format__(printf,1,2)));
+void wsyserrorwithcode(int error, const char *msg, ...) __attribute__((__format__(printf,2,3)));
char* wfindfile(char *paths, char *file);
--- WINGs/wcolorpanel.c
+++ WINGs/wcolorpanel.c
@@ -1239,7 +1239,7 @@
}
if (!(dPtr = opendir(panel->configurationPath))) {
- wwarning(_("Color Panel: Could not find file"), "%s", panel->configurationPath);
+ wwarning(_("Color Panel: Could not find file: %s"), panel->configurationPath);
return;
}
@@ -3715,6 +3715,7 @@
color.red = 0;
color.green = 0;
color.blue = 0;
+ color.alpha = 0;
return color;
}
@@ -3724,6 +3725,7 @@
color.red = xcolor->red >> 8;
color.green = xcolor->green >> 8;
color.blue = xcolor->blue >> 8;
+ color.alpha = 0;
wfree(xcolor);
--- src/cycling.c
+++ src/cycling.c
@@ -22,6 +22,7 @@
#include "wconfig.h"
+#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/keysym.h>
--- src/dock.c
+++ src/dock.c
@@ -3780,7 +3780,7 @@
if (wPreferences.flags.noupdates)
- return;
+ return False;
if (XGrabPointer(dpy, icon->core->window, True, ButtonMotionMask
|ButtonReleaseMask|ButtonPressMask, GrabModeAsync,
--- src/texture.c
+++ src/texture.c
@@ -421,6 +421,8 @@
texture->argc = argc;
texture->argv = argv;
+ memset(&fallbackColor, 0, sizeof(fallbackColor));
+
fallbackColor.red = 0x8000;
fallbackColor.green = 0x8000;
fallbackColor.blue = 0x8000;
--- src/xdnd.c
+++ src/xdnd.c
@@ -185,7 +185,7 @@
wfree(scr->xdestring); /* this xdestring is not from Xlib (no XFree) */
}
- /* why doesn't this function return anything ? -Dan */
+ return True;
}
Bool
--- util/wmsetup.c
+++ util/wmsetup.c
@@ -21,6 +21,7 @@
int
main()
{
+return 0;
}
#else
#define PROG_VERSION "wmsetup 0.0 (Window Maker)"
--- Window-Maker-5a2507602c48/WINGs/wfontpanel.c
+++ Window-Maker-5a2507602c48/WINGs/wfontpanel.c
@@ -585,7 +585,7 @@
int i;
pat = FcPatternCreate();
- os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, 0);
+ os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, NULL);
fs = FcFontList(0, pat, os);
if (!fs) {
WMRunAlertPanel(scr, panel->win, _("Error"),
--- WindowMaker/Defaults/WMGLOBAL
+++ WindowMaker/Defaults/WMGLOBAL
@@ -1,6 +1,6 @@
{
- SystemFont = "Trebuchet MS,Luxi Sans";
- BoldSystemFont = "Trebuchet MS,Luxi Sans:bold";
+ SystemFont = "Sans";
+ BoldSystemFont = "Sans:bold";
DefaultFontSize = 11;
AntialiasedText = Yes;
FloppyPath = "/floppy";
--- WindowMaker/Defaults/WindowMaker.in
+++ WindowMaker/Defaults/WindowMaker.in
@@ -109,13 +109,13 @@
ConstrainWindowSize = NO;
ClipRaiseLowerKey = None;
TitleJustify = center;
- WindowTitleFont = "Trebuchet MS,Luxi Sans:bold:pixelsize=12";
- MenuTitleFont = "Trebuchet MS,Luxi Sans:bold:pixelsize=12";
- MenuTextFont = "Trebuchet MS,Luxi Sans:pixelsize=12";
- IconTitleFont = "Arial,Luxi Sans:pixelsize=9";
- ClipTitleFont = "Verdana:bold:pixelsize=10";
- DisplayFont = "Trebuchet MS,Luxi Sans:pixelsize=12";
- LargeDisplayFont = "Trebuchet MS,Luxi Sans:pixelsize=24";
+ WindowTitleFont = "Sans:bold:pixelsize=12";
+ MenuTitleFont = "Sans:bold:pixelsize=12";
+ MenuTextFont = "Sans:pixelsize=12";
+ IconTitleFont = "Sans:pixelsize=9";
+ ClipTitleFont = "Sans:bold:pixelsize=10";
+ DisplayFont = "Sans:pixelsize=12";
+ LargeDisplayFont = "Sans:pixelsize=24";
HighlightColor = white;
HighlightTextColor = black;
ClipTitleColor = black;
--- src/event.c
+++ src/event.c
@@ -107,27 +107,27 @@
static void saveTimestamp(XEvent *event);
-static void handleColormapNotify();
-static void handleMapNotify();
-static void handleUnmapNotify();
-static void handleButtonPress();
-static void handleExpose();
-static void handleDestroyNotify();
-static void handleConfigureRequest();
-static void handleMapRequest();
-static void handlePropertyNotify();
-static void handleEnterNotify();
-static void handleLeaveNotify();
-static void handleExtensions();
-static void handleClientMessage();
-static void handleKeyPress();
-static void handleFocusIn();
-static void handleMotionNotify();
-static void handleVisibilityNotify();
+static void handleColormapNotify(XEvent *event);
+static void handleMapNotify(XEvent *event);
+static void handleUnmapNotify(XEvent *event);
+static void handleButtonPress(XEvent *event);
+static void handleExpose(XEvent *event);
+static void handleDestroyNotify(XEvent *event);
+static void handleConfigureRequest(XEvent *event);
+static void handleMapRequest(XEvent *event);
+static void handlePropertyNotify(XEvent *event);
+static void handleEnterNotify(XEvent *event);
+static void handleLeaveNotify(XEvent *event);
+static void handleExtensions(XEvent *event);
+static void handleClientMessage(XEvent *event);
+static void handleKeyPress(XEvent *event);
+static void handleFocusIn(XEvent *event);
+static void handleMotionNotify(XEvent *event);
+static void handleVisibilityNotify(XEvent *event);
#ifdef SHAPE
-static void handleShapeNotify();
+static void handleShapeNotify(XEvent *event);
#endif
/* called from the signal handler */
--- WINGs/wtext.c
+++ WINGs/wtext.c
@@ -656,7 +656,7 @@
TextBlock *tb;
WMFont *font;
char *text;
- int len, y, c, s, done=False, prev_y=-23, dir /* 1 = down */;
+ int len, y, c, s, done=False, prev_y=-23, dir=1 /* 1 = down */;
WMScreen *scr = tPtr->view->screen;
Display *dpy = tPtr->view->screen->display;
Window win = tPtr->view->window;
--- po/de.po
+++ po/de.po
@@ -76,7 +76,7 @@
#: ../src/appicon.c:487 ../src/dock.c:1176 ../src/rootmenu.c:248
#: ../src/rootmenu.c:264 ../src/winmenu.c:508
msgid "Kill"
-msgstr "Töten"
+msgstr "Beenden"
#: ../src/appicon.c:508 ../src/dock.c:3511
msgid "Unhide"
--- src/misc.c
+++ src/misc.c
@@ -1105,7 +1105,7 @@
len = (msg ? strlen(msg) : 0) + (workspace >=0 ? 4 : 0) + 1 ;
buffer = wmalloc(len+5);
- snprintf(buf, len, "%4i", len);
+ snprintf(buf, sizeof(buf), "%4i", len);
memcpy(buffer, buf, 4);
buffer[4] = type;
i = 5;
--- src/misc.c
+++ src/misc.c
@@ -696,7 +696,7 @@
olen = len+1;
out = malloc(olen);
if (!out) {
- wwarning(_("out of memory during expansion of \"%s\""));
+ wwarning(_("out of memory during expansion of \"%s\""), cmdline);
return NULL;
}
*out = 0;
@@ -785,7 +785,8 @@
olen += slen;
nout = realloc(out,olen);
if (!nout) {
- wwarning(_("out of memory during expansion of \"%a\""));
+ wwarning(_("out of memory during expansion of \"%a\""),
+ user_input);
goto error;
}
out = nout;
@@ -835,7 +836,8 @@
olen += slen;
nout = realloc(out,olen);
if (!nout) {
- wwarning(_("out of memory during expansion of \"%s\""));
+ wwarning(_("out of memory during expansion of \"%s\""),
+ selection);
goto error;
}
out = nout;