bugfix [#23182] Using self.report() inside poll() gives crash
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.
    def poll(self, context): ...
is now...
    @staticmethod
    def poll(context): ...
Pythons way of doing static methods is a bit odd but cant be helped :|
This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
			
			
This commit is contained in:
		| @@ -28,7 +28,8 @@ class DataButtonsPanel(): | ||||
|     bl_region_type = 'WINDOW' | ||||
|     bl_context = "data" | ||||
|  | ||||
|     def poll(self, context): | ||||
|     @staticmethod | ||||
|     def poll(context): | ||||
|         return context.meta_ball | ||||
|  | ||||
|  | ||||
| @@ -95,7 +96,8 @@ class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel): | ||||
| class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel): | ||||
|     bl_label = "Active Element" | ||||
|  | ||||
|     def poll(self, context): | ||||
|     @staticmethod | ||||
|     def poll(context): | ||||
|         return (context.meta_ball and context.meta_ball.active_element) | ||||
|  | ||||
|     def draw(self, context): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user