1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-30 02:12:30 +01:00

fixed misc bugs

This commit is contained in:
kojima
2000-04-02 00:04:06 +00:00
parent ead4f5d3e1
commit 449a5fde76
9 changed files with 34 additions and 11 deletions

View File

@@ -366,7 +366,7 @@ WMBag *WMCreateTreeBagWithDestructor(void (*destructor)(void*));
/* this is slow */ /* this is slow */
/* erase will remove the element from the bag, /* erase will remove the element from the bag,
* but will keep the index of the other elements unchanged */ * but will keep the index of the other elements unchanged */
#define WMEraseFromBag(bag, index) bag->func.deleteFromBag(bag, index) #define WMEraseFromBag(bag, index) bag->func.eraseFromBag(bag, index)
/* delete and remove will remove the elements and cause the elements /* delete and remove will remove the elements and cause the elements
* after them to decrement their indexes by 1 */ * after them to decrement their indexes by 1 */

View File

@@ -457,7 +457,7 @@ WMInsertBrowserItem(WMBrowser *bPtr, int column, int row, char *text,
if (column < 0 || column >= bPtr->columnCount) if (column < 0 || column >= bPtr->columnCount)
return NULL; return NULL;
item = WMInsertListItem(bPtr->columns[column], row, text); item = WMInsertListItem(bPtr->columns[column], row, text);
item->isBranch = isBranch; item->isBranch = isBranch;

View File

@@ -170,6 +170,8 @@ WMInsertListItem(WMList *lPtr, int row, char *text)
&& row >= 0) && row >= 0)
lPtr->selectedItem++; lPtr->selectedItem++;
row = WMIN(row, WMGetBagItemCount(lPtr->items));
if (row < 0) if (row < 0)
WMPutInBag(lPtr->items, item); WMPutInBag(lPtr->items, item);
else else
@@ -203,7 +205,7 @@ WMRemoveListItem(WMList *lPtr, int row)
} else if (lPtr->selectedItem > row) { } else if (lPtr->selectedItem > row) {
lPtr->selectedItem--; lPtr->selectedItem--;
} }
if (row <= lPtr->topItem+lPtr->fullFitLines+lPtr->flags.dontFitAll) if (row <= lPtr->topItem+lPtr->fullFitLines+lPtr->flags.dontFitAll)
lPtr->topItem--; lPtr->topItem--;
if (lPtr->topItem < 0) if (lPtr->topItem < 0)
@@ -455,9 +457,7 @@ paintItem(List *lPtr, int index)
int width, height, x, y; int width, height, x, y;
WMListItem *itemPtr; WMListItem *itemPtr;
itemPtr = WMGetFromBag(lPtr->items, index); itemPtr = WMGetFromBag(lPtr->items, index);
width = lPtr->view->size.width - 2 - 19; width = lPtr->view->size.width - 2 - 19;
height = lPtr->itemHeight; height = lPtr->itemHeight;
@@ -486,8 +486,8 @@ paintItem(List *lPtr, int index)
&rect); &rect);
} else { } else {
if (itemPtr->selected) if (itemPtr->selected)
XFillRectangle(scr->display, view->window, WMColorGC(scr->white), x, y, XFillRectangle(scr->display, view->window, WMColorGC(scr->white),
width, height); x, y, width, height);
else else
XClearArea(scr->display, view->window, x, y, width, height, False); XClearArea(scr->display, view->window, x, y, width, height, False);
@@ -620,6 +620,8 @@ WMSelectListItem(WMList *lPtr, int row)
else else
notify = 1; notify = 1;
assert(lPtr->selectedItem < WMGetBagItemCount(lPtr->items));
if (!lPtr->flags.allowMultipleSelection) { if (!lPtr->flags.allowMultipleSelection) {
/* unselect previous selected item */ /* unselect previous selected item */
if (lPtr->selectedItem >= 0) { if (lPtr->selectedItem >= 0) {

View File

@@ -336,8 +336,9 @@ createPanel(Panel *p)
WMSetButtonImage(panel->oldsB, icon); WMSetButtonImage(panel->oldsB, icon);
WMReleasePixmap(icon); WMReleasePixmap(icon);
} }
free(path);
} }
WMGroupButtons(panel->newsB, panel->oldsB); WMGroupButtons(panel->newsB, panel->oldsB);
WMMapSubwidgets(panel->titlF); WMMapSubwidgets(panel->titlF);

View File

@@ -573,6 +573,21 @@ performCommand(WMWidget *w, void *data)
break; break;
} }
{
int i, j;
WMList *list;
list = WMGetBrowserListInColumn(panel->browser, 0);
for (i = 0; i < WMGetListNumberOfRows(list); i++) {
WMListItem *item =WMGetListItem(list, i);
if (!item)
printf("%i empty\n", i);
else
puts(item->text);
}
}
if (row>=0) row++; if (row>=0) row++;
WMInsertBrowserItem(panel->browser, column, row, title, isMenu(menuItem)); WMInsertBrowserItem(panel->browser, column, row, title, isMenu(menuItem));
if (row<0) if (row<0)
@@ -580,6 +595,8 @@ performCommand(WMWidget *w, void *data)
else else
PLInsertArrayElement(menu, menuItem, row+1); PLInsertArrayElement(menu, menuItem, row+1);
free(title); free(title);
panel->unsaved = 1; panel->unsaved = 1;
if (removed) { if (removed) {

View File

@@ -43,7 +43,7 @@
/****/ /****/
#define WVERSION "0.42" #define WVERSION "0.42"
#define WMVERSION "0.61.x" #define WMVERSION "0.62.x"
extern char *NOptionValueChanged; extern char *NOptionValueChanged;

View File

@@ -320,6 +320,7 @@ createPanel(Panel *p)
WMSetButtonAltImage(panel->clipB, icon1); WMSetButtonAltImage(panel->clipB, icon1);
WMReleasePixmap(icon1); WMReleasePixmap(icon1);
} }
free(path);
} }
WMSetBalloonTextForView(_("Disable/enable the Clip (that thing with\n" WMSetBalloonTextForView(_("Disable/enable the Clip (that thing with\n"
"a paper clip icon)."), "a paper clip icon)."),
@@ -332,7 +333,7 @@ createPanel(Panel *p)
WMRealizeWidget(panel->frame); WMRealizeWidget(panel->frame);
WMMapSubwidgets(panel->frame); WMMapSubwidgets(panel->frame);
showData(panel); showData(panel);
} }

View File

@@ -120,7 +120,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
all: all-redirect all: all-redirect
.SUFFIXES: .SUFFIXES:

View File

@@ -228,6 +228,8 @@ x_reset_modifier_mapping (Display *display)
AltIndex = alt_bit; AltIndex = alt_bit;
ModeIndex = mode_bit; ModeIndex = mode_bit;
if (x_modifier_keymap != NULL)
XFreeModifiermap(x_modifier_keymap);
} }