Selaa lähdekoodia

Fix freezes when tab is zero or negative width.

bruvzg 3 vuotta sitten
vanhempi
commit
af6758e008

+ 6 - 0
modules/text_server_adv/text_server_adv.cpp

@@ -3668,6 +3668,12 @@ float TextServerAdvanced::shaped_text_tab_align(RID p_shaped, const PackedFloat3
 		const_cast<TextServerAdvanced *>(this)->shaped_text_update_breaks(p_shaped);
 	}
 
+	for (int i = 0; i < p_tab_stops.size(); i++) {
+		if (p_tab_stops[i] <= 0) {
+			return 0.f;
+		}
+	}
+
 	int tab_index = 0;
 	float off = 0.f;
 

+ 6 - 0
modules/text_server_fb/text_server_fb.cpp

@@ -2665,6 +2665,12 @@ float TextServerFallback::shaped_text_tab_align(RID p_shaped, const PackedFloat3
 		const_cast<TextServerFallback *>(this)->shaped_text_update_breaks(p_shaped);
 	}
 
+	for (int i = 0; i < p_tab_stops.size(); i++) {
+		if (p_tab_stops[i] <= 0) {
+			return 0.f;
+		}
+	}
+
 	int tab_index = 0;
 	float off = 0.f;