Operating system: Linux
Graphics card: Intel
Short description of error
I have a very specific UI hierarchy and settings that are consistently causing segfaults for me.
I think the short draw code is the best way to explain it:
def draw(self, context): layout = self.layout row = layout.row(align=True) row.scale_x = 2 # Needed for crash. col1 = row.column(align=True) col2 = row.column(align=True) for i in range(40): # Crashes with 40 and 39, but not with 20, 50, or 100. col1.label(text=str("a"*20)) #Doesn't matter, I think. col2.label(text=str("b"*20)) bpy.context.window_manager.popup_menu(draw, title="")
.scale_x = 2 is needed for the crash. The number of items from the range() also matters, and won't crash with too few or too many. I don't think the lengths of the labels matter.
- Also happens with column/row layout convoluted/zipped.
- Also happens with .ui_units_x = 40 replacing .scale_x = 2 (but not with all other values of .ui_units_x).
- Actually seems to happen with some number (but not all numbers) of elements for any combination of UI dimensions in .popup_menu.
- Note: Even when it doesn't segfault, the popup menu will often be an obvious rendering error with lots of tearing and such.
Exact steps for others to reproduce the error
Run the script: