mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-14 04:19:12 +00:00
Fix problem in Widget::getPreferredSize() introduced in commit 01c811e7266cbd5abc8f452b3529007a59dac271.
Min/max sizes are taken into account when getPreferredSize() calls a customized onPreferredSize() method.
This commit is contained in:
parent
88305ec84c
commit
58a3447698
@ -1325,7 +1325,11 @@ Size Widget::getPreferredSize()
|
||||
else {
|
||||
PreferredSizeEvent ev(this, Size(0, 0));
|
||||
onPreferredSize(ev);
|
||||
return ev.getPreferredSize();
|
||||
|
||||
Size sz(ev.getPreferredSize());
|
||||
sz.w = MID(this->min_w, sz.w, this->max_w);
|
||||
sz.h = MID(this->min_h, sz.h, this->max_h);
|
||||
return sz;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1351,7 +1355,11 @@ Size Widget::getPreferredSize(const Size& fitIn)
|
||||
else {
|
||||
PreferredSizeEvent ev(this, fitIn);
|
||||
onPreferredSize(ev);
|
||||
return ev.getPreferredSize();
|
||||
|
||||
Size sz(ev.getPreferredSize());
|
||||
sz.w = MID(this->min_w, sz.w, this->max_w);
|
||||
sz.h = MID(this->min_h, sz.h, this->max_h);
|
||||
return sz;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1585,8 +1593,6 @@ void Widget::onPreferredSize(PreferredSizeEvent& ev)
|
||||
JMessage msg = jmessage_new(JM_REQSIZE);
|
||||
jwidget_send_message(this, msg);
|
||||
Size sz(msg->reqsize.w, msg->reqsize.h);
|
||||
sz.w = MID(this->min_w, sz.w, this->max_w);
|
||||
sz.h = MID(this->min_h, sz.h, this->max_h);
|
||||
jmessage_free(msg);
|
||||
|
||||
ev.setPreferredSize(sz);
|
||||
|
Loading…
x
Reference in New Issue
Block a user