Skip to content

Commit 2fdc0ef

Browse files
committed
Invalidate baseline source when child prefBaseline is changed
1 parent 40f70c5 commit 2fdc0ef

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ public final ObjectProperty<ContentDisplay> contentDisplayProperty() {
661661
contentDisplay = new StyleableObjectProperty<ContentDisplay>(ContentDisplay.LEFT) {
662662
@Override
663663
protected void invalidated() {
664-
ParentHelper.notifyTextBaselineChanged(Labeled.this);
664+
ParentHelper.notifyBaselineSourceChanged(Labeled.this);
665665
ParentHelper.notifyBaselineOffsetChanged(Labeled.this);
666666
}
667667

modules/javafx.graphics/src/main/java/com/sun/javafx/scene/ParentHelper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ public static ParentTraversalEngine getTraversalEngine(Parent parent) {
121121
return parentAccessor.getTraversalEngine(parent);
122122
}
123123

124-
public static void notifyTextBaselineChanged(Parent parent) {
125-
parentAccessor.notifyTextBaselineChanged(parent);
124+
public static void notifyBaselineSourceChanged(Parent parent) {
125+
parentAccessor.notifyBaselineSourceChanged(parent);
126126
}
127127

128128
public static void setParentAccessor(final ParentAccessor newAccessor) {
@@ -144,7 +144,7 @@ public interface ParentAccessor {
144144
void setTraversalEngine(Parent parent, ParentTraversalEngine value);
145145
ParentTraversalEngine getTraversalEngine(Parent parent);
146146
List<String> doGetAllParentStylesheets(Parent parent);
147-
void notifyTextBaselineChanged(Parent parent);
147+
void notifyBaselineSourceChanged(Parent parent);
148148
}
149149

150150
}

modules/javafx.graphics/src/main/java/javafx/scene/Node.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@
149149
import com.sun.javafx.scene.LayoutFlags;
150150
import com.sun.javafx.scene.NodeEventDispatcher;
151151
import com.sun.javafx.scene.NodeHelper;
152+
import com.sun.javafx.scene.ParentHelper;
152153
import com.sun.javafx.scene.SceneHelper;
153154
import com.sun.javafx.scene.SceneUtils;
154155
import com.sun.javafx.scene.input.PickResultChooser;
@@ -3196,6 +3197,15 @@ public void resizeRelocate(double x, double y, double width, double height) {
31963197
public final BooleanProperty prefBaselineProperty() {
31973198
if (prefBaseline == null) {
31983199
prefBaseline = new BooleanPropertyBase() {
3200+
@Override
3201+
protected void invalidated() {
3202+
Parent parent = getParent();
3203+
if (parent != null) {
3204+
ParentHelper.notifyBaselineSourceChanged(parent);
3205+
requestParentLayout(true);
3206+
}
3207+
}
3208+
31993209
@Override
32003210
public Object getBean() {
32013211
return Node.this;

modules/javafx.graphics/src/main/java/javafx/scene/Parent.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ public List<String> doGetAllParentStylesheets(Parent parent) {
161161
}
162162

163163
@Override
164-
public void notifyTextBaselineChanged(Parent parent) {
165-
parent.notifyTextBaselineChanged();
164+
public void notifyBaselineSourceChanged(Parent parent) {
165+
parent.notifyBaselineSourceChanged();
166166
}
167167
});
168168
}
@@ -1276,12 +1276,12 @@ private Node getBaselineSource() {
12761276
return null;
12771277
}
12781278

1279-
private void notifyTextBaselineChanged() {
1279+
private void notifyBaselineSourceChanged() {
12801280
cachedBaselineSourceValid = false;
12811281
cachedBaselineSource = null;
12821282
Parent parent = getParent();
12831283
if (parent != null) {
1284-
parent.notifyTextBaselineChanged();
1284+
parent.notifyBaselineSourceChanged();
12851285
}
12861286
}
12871287

0 commit comments

Comments
 (0)