2
0
Эх сурвалжийг харах

Make CanvasModulate deactivate when hidden, fixes #2437

Juan Linietsky 9 жил өмнө
parent
commit
b78c1e52c2

+ 11 - 2
scene/2d/canvas_modulate.cpp

@@ -5,10 +5,19 @@ void CanvasModulate::_notification(int p_what) {
 
 	if (p_what==NOTIFICATION_ENTER_CANVAS) {
 
-		VS::get_singleton()->canvas_set_modulate(get_canvas(),color);
+		if (is_visible())
+			VS::get_singleton()->canvas_set_modulate(get_canvas(),color);
 	} else if (p_what==NOTIFICATION_EXIT_CANVAS) {
 
-		VS::get_singleton()->canvas_set_modulate(get_canvas(),Color(1,1,1,1));
+		if (is_visible())
+			VS::get_singleton()->canvas_set_modulate(get_canvas(),Color(1,1,1,1));
+	} else if (p_what==NOTIFICATION_VISIBILITY_CHANGED) {
+
+		if (is_visible()) {
+			VS::get_singleton()->canvas_set_modulate(get_canvas(),color);
+		} else {
+			VS::get_singleton()->canvas_set_modulate(get_canvas(),Color(1,1,1,1));
+		}
 	}
 }