mirror of
https://github.com/gryf/wmaker.git
synced 2026-02-13 20:35:54 +01:00
fixed bug in repainting empty popup buttons
This commit is contained in:
@@ -180,7 +180,7 @@ WMRemovePopUpButtonItem(WMPopUpButton *bPtr, int index)
|
|||||||
if (index < bPtr->selectedItemIndex)
|
if (index < bPtr->selectedItemIndex)
|
||||||
bPtr->selectedItemIndex--;
|
bPtr->selectedItemIndex--;
|
||||||
else if (index == bPtr->selectedItemIndex) {
|
else if (index == bPtr->selectedItemIndex) {
|
||||||
/* reselect first item if the removed item is the
|
/* reselect first item if the removed item is the
|
||||||
* selected one */
|
* selected one */
|
||||||
bPtr->selectedItemIndex = 0;
|
bPtr->selectedItemIndex = 0;
|
||||||
if (bPtr->view->flags.mapped)
|
if (bPtr->view->flags.mapped)
|
||||||
@@ -301,6 +301,9 @@ WMGetPopUpButtonItem(WMPopUpButton *bPtr, int index)
|
|||||||
{
|
{
|
||||||
WMMenuItem *item;
|
WMMenuItem *item;
|
||||||
|
|
||||||
|
if (index >= WMGetBagItemCount(bPtr->items) || index < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
item = WMGetFromBag(bPtr->items, index);
|
item = WMGetFromBag(bPtr->items, index);
|
||||||
if (!item)
|
if (!item)
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -335,7 +338,7 @@ paintPopUpButton(PopUpButton *bPtr)
|
|||||||
if (bPtr->selectedItemIndex < 0) {
|
if (bPtr->selectedItemIndex < 0) {
|
||||||
/* if no item selected, show the caption */
|
/* if no item selected, show the caption */
|
||||||
caption = bPtr->caption;
|
caption = bPtr->caption;
|
||||||
} else {
|
} else {
|
||||||
caption = WMGetPopUpButtonItem(bPtr, bPtr->selectedItemIndex);
|
caption = WMGetPopUpButtonItem(bPtr, bPtr->selectedItemIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user