mirror of
https://github.com/gryf/wmaker.git
synced 2026-02-12 03:35:52 +01:00
- Fixed text in info panel for multibyte (Seiichi SATO <ssato@sh.rim.or.jp>)
- Separated the font caches for normal fonts and fontsets in WINGs (they can have the same names and collide in the cache giving unwanted results) - Updated the years in the copyright notices
This commit is contained in:
@@ -2,6 +2,8 @@ Changes since wmaker 0.80.0:
|
||||
............................
|
||||
|
||||
- fixed a bug in wfindfile() (rewrote wfindfile() with better logic).
|
||||
- separated the font caches for normal fonts and fontsets in WINGs (they can
|
||||
have the same names and collide in the cache giving unwanted results)
|
||||
|
||||
|
||||
Changes since wmaker 0.70.0:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* WINGs connect.c: example how to create a network client using WMConnection
|
||||
*
|
||||
* Copyright (c) 1999-2001 Dan Pascu
|
||||
* Copyright (c) 1999-2002 Dan Pascu
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* WINGs demo: font lister
|
||||
*
|
||||
* Copyright (c) 1998 Alfredo K. Kojima
|
||||
* Copyright (c) 1998-2002 Alfredo K. Kojima
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* WINGs server.c: example how to create a network server using WMConnection
|
||||
*
|
||||
* Copyright (c) 2001 Dan Pascu
|
||||
* Copyright (c) 2001-2002 Dan Pascu
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include <WINGs/WUtil.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define WINGS_H_VERSION 20010117
|
||||
#define WINGS_H_VERSION 20020104
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#include <WINGs/WINGs.h>
|
||||
|
||||
#if WINGS_H_VERSION < 20010117
|
||||
#if WINGS_H_VERSION < 20020104
|
||||
#error There_is_an_old_WINGs.h_file_somewhere_in_your_system._Please_remove_it.
|
||||
#endif
|
||||
|
||||
@@ -191,6 +191,8 @@ typedef struct W_Screen {
|
||||
|
||||
WMHashTable *fontCache;
|
||||
|
||||
WMHashTable *fontSetCache;
|
||||
|
||||
Bool useMultiByte;
|
||||
|
||||
unsigned int ignoredModifierMask; /* modifiers to ignore when typing txt */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* WINGs WMConnection function library
|
||||
*
|
||||
* Copyright (c) 1999-2000 Dan Pascu
|
||||
* Copyright (c) 1999-2002 Dan Pascu
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* WINGs WMData function library
|
||||
*
|
||||
* Copyright (c) 1999-2000 Dan Pascu
|
||||
* Copyright (c) 1999-2002 Dan Pascu
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Window Maker miscelaneous function library
|
||||
*
|
||||
* Copyright (c) 1997 Alfredo K. Kojima
|
||||
* Copyright (c) 1997-2002 Alfredo K. Kojima
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Window Maker miscelaneous function library
|
||||
*
|
||||
* Copyright (c) 1997 Alfredo K. Kojima
|
||||
* Copyright (c) 1997-2002 Alfredo K. Kojima
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* WINGs WMHost function library
|
||||
*
|
||||
* Copyright (c) 1999-2001 Dan Pascu
|
||||
* Copyright (c) 1999-2002 Dan Pascu
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Window Maker miscelaneous function library
|
||||
*
|
||||
* Copyright (c) 1997 Alfredo K. Kojima
|
||||
* Copyright (c) 1997-2002 Alfredo K. Kojima
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -44,7 +44,7 @@ generalize_xlfd (const char *xlfd)
|
||||
char *pxlsz = xlfd_get_element(xlfd, 7);
|
||||
|
||||
#define Xstrlen(A) ((A)?strlen(A):0)
|
||||
len = Xstrlen(xlfd)+Xstrlen(weight)+Xstrlen(slant)+Xstrlen(pxlsz)*2+50;
|
||||
len = Xstrlen(xlfd)+Xstrlen(weight)+Xstrlen(slant)+Xstrlen(pxlsz)*2+60;
|
||||
#undef Xstrlen
|
||||
|
||||
buf = wmalloc(len + 1);
|
||||
@@ -106,7 +106,7 @@ WMCreateFontSet(WMScreen *scrPtr, char *fontName)
|
||||
char *defaultString;
|
||||
XFontSetExtents *extents;
|
||||
|
||||
font = WMHashGet(scrPtr->fontCache, fontName);
|
||||
font = WMHashGet(scrPtr->fontSetCache, fontName);
|
||||
if (font) {
|
||||
WMRetainFont(font);
|
||||
return font;
|
||||
@@ -114,7 +114,7 @@ WMCreateFontSet(WMScreen *scrPtr, char *fontName)
|
||||
|
||||
font = malloc(sizeof(WMFont));
|
||||
if (!font)
|
||||
return NULL;
|
||||
return NULL;
|
||||
memset(font, 0, sizeof(WMFont));
|
||||
|
||||
font->notFontSet = 0;
|
||||
@@ -150,7 +150,7 @@ WMCreateFontSet(WMScreen *scrPtr, char *fontName)
|
||||
|
||||
font->name = wstrdup(fontName);
|
||||
|
||||
assert(WMHashInsert(scrPtr->fontCache, font->name, font)==NULL);
|
||||
assert(WMHashInsert(scrPtr->fontSetCache, font->name, font)==NULL);
|
||||
|
||||
return font;
|
||||
}
|
||||
@@ -193,7 +193,8 @@ WMCreateNormalFont(WMScreen *scrPtr, char *fontName)
|
||||
font->font.normal = XLoadQueryFont(display, fname);
|
||||
if (!font->font.normal) {
|
||||
wfree(font);
|
||||
return NULL;
|
||||
wfree(fname);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
font->height = font->font.normal->ascent+font->font.normal->descent;
|
||||
@@ -245,7 +246,11 @@ WMReleaseFont(WMFont *font)
|
||||
XFreeFontSet(font->screen->display, font->font.set);
|
||||
}
|
||||
if (font->name) {
|
||||
WMHashRemove(font->screen->fontCache, font->name);
|
||||
if (font->notFontSet) {
|
||||
WMHashRemove(font->screen->fontCache, font->name);
|
||||
} else {
|
||||
WMHashRemove(font->screen->fontSetCache, font->name);
|
||||
}
|
||||
wfree(font->name);
|
||||
}
|
||||
wfree(font);
|
||||
|
||||
@@ -617,8 +617,10 @@ WMCreateScreenWithRContext(Display *display, int screen, RContext *context)
|
||||
scrPtr->rootWin = RootWindow(display, screen);
|
||||
|
||||
scrPtr->fontCache = WMCreateHashTable(WMStringPointerHashCallbacks);
|
||||
|
||||
|
||||
|
||||
scrPtr->fontSetCache = WMCreateHashTable(WMStringPointerHashCallbacks);
|
||||
|
||||
|
||||
/* create input method stuff */
|
||||
W_InitIMStuff(scrPtr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user