Fix: Drivers popover not showing
authorJoshua Leung <aligorith@gmail.com>
Fri, 12 Oct 2018 22:32:28 +0000 (11:32 +1300)
committerJoshua Leung <aligorith@gmail.com>
Sat, 20 Oct 2018 02:30:21 +0000 (15:30 +1300)
This was broken since cca87ccc753a85b447872a259c9d3e3f07ec1c13

The problem was that as this popover was defined in the C-code
for the Graph Editor, the relevant panel never got added to the
WM_paneltype registry, since only Python defined panels get
WM_paneltype_add() called when they are defined.

Since the majority of panels defined for regions are only used there,
a more localised fix was applied here by only adding the driver popover
to the global list manually.

source/blender/editors/space_graph/graph_buttons.c

index ddb248f754da2937a03fa5fdc93e7cb834675965..25d1465c579f6e38ec968461c22a3ffa6c624995 100644 (file)
@@ -1197,7 +1197,7 @@ void graph_buttons_register(ARegionType *art)
        strcpy(pt->translation_context, BLT_I18NCONTEXT_DEFAULT_BPYRNA);
        pt->draw = graph_panel_drivers_popover;
        pt->poll = graph_panel_drivers_popover_poll;
-       BLI_addtail(&art->paneltypes, pt);
+       WM_paneltype_add(pt); /* This panel isn't used in this region. Add explicitly to global list (so popovers work). */
 
        pt = MEM_callocN(sizeof(PanelType), "spacetype graph panel modifiers");
        strcpy(pt->idname, "GRAPH_PT_modifiers");