diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 1ff46004bdf..0f2cedf8b0a 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -632,6 +632,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) memset(&type, 0, sizeof(ARegionType)); type.draw = ui_tooltip_region_draw_cb; type.free = ui_tooltip_region_free_cb; + type.regionid = RGN_TYPE_TEMPORARY; ar->type = &type; /* set font, get bb */ @@ -1159,6 +1160,7 @@ ARegion *ui_searchbox_create(bContext *C, ARegion *butregion, uiBut *but) memset(&type, 0, sizeof(ARegionType)); type.draw = ui_searchbox_region_draw_cb; type.free = ui_searchbox_region_free_cb; + type.regionid = RGN_TYPE_TEMPORARY; ar->type = &type; /* create searchbox data */ @@ -1669,6 +1671,7 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut memset(&type, 0, sizeof(ARegionType)); type.draw = ui_block_region_draw; + type.regionid = RGN_TYPE_TEMPORARY; ar->type = &type; UI_add_region_handlers(&ar->handlers); diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 89f0da102c9..3216e79deb0 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -1014,17 +1014,24 @@ void ui_style_init_default(void) void UI_SetTheme(int spacetype, int regionid) { - if (spacetype == 0) { /* called for safety, when delete themes */ - theme_active = U.themes.first; - theme_spacetype = SPACE_VIEW3D; - theme_regionid = RGN_TYPE_WINDOW; - } - else { + if (spacetype) { /* later on, a local theme can be found too */ theme_active = U.themes.first; theme_spacetype = spacetype; theme_regionid = regionid; } + else if (regionid) { + /* popups */ + theme_active = U.themes.first; + theme_spacetype = SPACE_BUTS; + theme_regionid = regionid; + } + else { + /* for safety, when theme was deleted */ + theme_active = U.themes.first; + theme_spacetype = SPACE_VIEW3D; + theme_regionid = RGN_TYPE_WINDOW; + } } bTheme *UI_GetTheme(void)