summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2013-06-08 16:19:39 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2013-06-08 16:19:39 +0100
commitee82850ee11cd7b3deff1233fea1c7befd5ddfab (patch)
tree836d1fcf1edf385489a2f95d3ed3e71caa99b2ab
parentcb10537b0b5ce71d38b300b4b0b4860493760cc4 (diff)
downloadnetsurf-chris/gadtools-53-5.tar.gz
Don't add a bitmap if the item is a folder (this seems to be buggy)chris/gadtools-53-5
-rw-r--r--amiga/menu.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/amiga/menu.c b/amiga/menu.c
index 844b44bc7..dfea80b52 100644
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -149,6 +149,7 @@ static void ami_menu_alloc_item(struct gui_window_2 *gwin, int num, UBYTE type,
if((label == NM_BARLABEL) || (strcmp(label, "--") == 0)) {
gwin->menulab[num] = NM_BARLABEL;
+ bm = NULL;
} else {
if((num >= AMI_MENU_HOTLIST) && (num <= AMI_MENU_HOTLIST_MAX)) {
gwin->menulab[num] = ami_utf8_easy(label);
@@ -163,7 +164,7 @@ static void ami_menu_alloc_item(struct gui_window_2 *gwin, int num, UBYTE type,
((GadToolsBase->lib_Version == 53) && (GadToolsBase->lib_Revision >= 5))) {
/* GadTools 53.5+ only. For now we will only create the menu
using label.image if there's a bitmap associated with the item. */
- if((bm != NULL) && (num == AMI_MENU_HOTLIST)) {
+ if(bm != NULL) {
struct DrawInfo *dri = GetScreenDrawInfo(scrn);
// struct BitMap *menu_icon = ami_bitmap_get_native(bm, 16, 16, NULL);
@@ -179,10 +180,10 @@ static void ami_menu_alloc_item(struct gui_window_2 *gwin, int num, UBYTE type,
BITMAP_Height, 16,
BitMapEnd,
*/
- LABEL_Text, gwin->menulab[num],
+ LABEL_Text, "test", //gwin->menulab[num],
LabelEnd;
- gwin->menutype[num] |= MENU_IMAGE;
+ if(gwin->menuobj[num]) gwin->menutype[num] |= MENU_IMAGE;
// }
FreeScreenDrawInfo(scrn, dri);
}
@@ -327,7 +328,7 @@ void ami_menu_refresh(struct gui_window_2 *gwin)
struct NewMenu *ami_create_menu(struct gui_window_2 *gwin)
{
int i;
-
+
gwin->menu = AllocVec(sizeof(struct NewMenu) * (AMI_MENU_AREXX_MAX + 1), MEMF_CLEAR);
ami_init_menulabs(gwin);
ami_menu_scan(ami_tree_get_tree(hotlist_window), gwin);
@@ -336,13 +337,12 @@ struct NewMenu *ami_create_menu(struct gui_window_2 *gwin)
for(i=0;i<=AMI_MENU_AREXX_MAX;i++)
{
gwin->menu[i].nm_Type = gwin->menutype[i];
- if(gwin->menuobj[i])
- gwin->menu[i].nm_Label = (void *)gwin->menuobj[i];
+ if(gwin->menutype[i] & MENU_IMAGE)
+ gwin->menu[i].nm_Label = (void *)gwin->menuobj[i];
else
gwin->menu[i].nm_Label = gwin->menulab[i];
if(gwin->menukey[i]) gwin->menu[i].nm_CommKey = &gwin->menukey[i];
- gwin->menu[i].nm_Flags = 0;
if(gwin->menu_hook[i].h_Entry) gwin->menu[i].nm_UserData = &gwin->menu_hook[i];
}
@@ -461,6 +461,7 @@ void ami_menu_scan_2(struct tree *tree, struct node *root, WORD *gen,
struct node_element *element=NULL;
struct node *node;
UBYTE menu_type;
+ struct bitmap *bm = NULL;
*gen = *gen + 1;
@@ -472,7 +473,9 @@ void ami_menu_scan_2(struct tree *tree, struct node *root, WORD *gen,
if(*gen == 1) menu_type = NM_ITEM;
if(*gen == 2) menu_type = NM_SUB;
-struct bitmap *bm = tree_url_node_get_icon(node); //ami_bitmap_from_datatype("TBimages:list_arexx");
+
+ if(tree_node_is_folder(node) == false)
+ bm = tree_url_node_get_icon(node); //ami_bitmap_from_datatype("TBimages:list_arexx");
ami_menu_alloc_item(gwin, *item, menu_type, tree_url_node_get_title(node),
0, bm,
ami_menu_item_hotlist_entries, (void *)tree_url_node_get_url(node));