Prechádzať zdrojové kódy

[2.1] Fixes for RichTextLabel

Fixes https://github.com/godotengine/godot/issues/34889 and https://github.com/godotengine/godot/issues/34889
Xavier Sellier 4 rokov pred
rodič
commit
47bf2aa111
1 zmenil súbory, kde vykonal 6 pridanie a 5 odobranie
  1. 6 5
      scene/gui/rich_text_label.cpp

+ 6 - 5
scene/gui/rich_text_label.cpp

@@ -722,20 +722,21 @@ void RichTextLabel::_find_click(ItemFrame *p_frame, const Point2i &p_click, Item
 Control::CursorShape RichTextLabel::get_cursor_shape(const Point2 &p_pos) const {
 Control::CursorShape RichTextLabel::get_cursor_shape(const Point2 &p_pos) const {
 
 
 	if (!underline_meta || selection.click)
 	if (!underline_meta || selection.click)
-		return CURSOR_ARROW;
+		return get_default_cursor_shape();
 
 
 	if (main->first_invalid_line < main->lines.size())
 	if (main->first_invalid_line < main->lines.size())
-		return CURSOR_ARROW; //invalid
+		return get_default_cursor_shape(); //invalid
 
 
 	int line = 0;
 	int line = 0;
+	bool outside;
 	Item *item = NULL;
 	Item *item = NULL;
 
 
-	((RichTextLabel *)(this))->_find_click(main, p_pos, &item, &line);
+	((RichTextLabel *)(this))->_find_click(main, p_pos, &item, &line, &outside);
 
 
-	if (item && ((RichTextLabel *)(this))->_find_meta(item, NULL))
+	if (item && !outside && ((RichTextLabel *)(this))->_find_meta(item, NULL))
 		return CURSOR_POINTING_HAND;
 		return CURSOR_POINTING_HAND;
 
 
-	return CURSOR_ARROW;
+	return get_default_cursor_shape();
 }
 }
 
 
 void RichTextLabel::_input_event(InputEvent p_event) {
 void RichTextLabel::_input_event(InputEvent p_event) {