diff --git a/src/main/java/com/cleanroommc/modularui/screen/RichTooltip.java b/src/main/java/com/cleanroommc/modularui/screen/RichTooltip.java
index 95df06bd3..f161cb793 100644
--- a/src/main/java/com/cleanroommc/modularui/screen/RichTooltip.java
+++ b/src/main/java/com/cleanroommc/modularui/screen/RichTooltip.java
@@ -63,8 +63,8 @@ public RichTooltip(Consumer parent) {
public void buildTooltip() {
this.dirty = false;
- this.text.clearText();
if (this.tooltipBuilder != null) {
+ this.text.clearText();
this.tooltipBuilder.accept(this);
}
}
@@ -307,6 +307,7 @@ public RichTooltip tooltipBuilder(Consumer tooltipBuilder) {
} else {
this.tooltipBuilder = tooltipBuilder;
}
+ markDirty();
return this;
}
diff --git a/src/main/java/com/cleanroommc/modularui/widgets/RichTextWidget.java b/src/main/java/com/cleanroommc/modularui/widgets/RichTextWidget.java
index 8f8bba6c4..efe51bfcc 100644
--- a/src/main/java/com/cleanroommc/modularui/widgets/RichTextWidget.java
+++ b/src/main/java/com/cleanroommc/modularui/widgets/RichTextWidget.java
@@ -30,10 +30,11 @@ public void markDirty() {
public void draw(ModularGuiContext context, WidgetTheme widgetTheme) {
super.draw(context, widgetTheme);
if (this.autoUpdate || this.dirty) {
- this.text.clearText();
if (this.builder != null) {
+ this.text.clearText();
this.builder.accept(this.text);
}
+ this.dirty = false;
}
this.text.drawAtZero(context, getArea(), widgetTheme);
}