diff --git a/apps/openmw/mwgui/widgets.cpp b/apps/openmw/mwgui/widgets.cpp index 6a5a43be7f..853b90b0f7 100644 --- a/apps/openmw/mwgui/widgets.cpp +++ b/apps/openmw/mwgui/widgets.cpp @@ -544,19 +544,22 @@ namespace MWGui void AutoSizedWidget::notifySizeChange (MyGUI::Widget* w) { - if (w->getParent () != 0) + MyGUI::Widget * parent = w->getParent(); + if (parent != 0) { - Box* b = dynamic_cast(w->getParent()); - if (b) - b->notifyChildrenSizeChanged (); - else + if (mExpandDirection == MyGUI::Align::Left) { - if (mExpandDirection == MyGUI::Align::Left) - { - int hdiff = getRequestedSize ().width - w->getSize().width; - w->setPosition(w->getPosition() - MyGUI::IntPoint(hdiff, 0)); - } - w->setSize(getRequestedSize ()); + int hdiff = getRequestedSize ().width - w->getSize().width; + w->setPosition(w->getPosition() - MyGUI::IntPoint(hdiff, 0)); + } + w->setSize(getRequestedSize ()); + + while (parent != 0) + { + Box * b = dynamic_cast(parent); + if (b) + b->notifyChildrenSizeChanged(); + parent = parent->getParent(); } } } diff --git a/apps/openmw/mwmechanics/actors.cpp b/apps/openmw/mwmechanics/actors.cpp index 75094861e7..0ac21f3353 100644 --- a/apps/openmw/mwmechanics/actors.cpp +++ b/apps/openmw/mwmechanics/actors.cpp @@ -297,7 +297,14 @@ namespace MWMechanics bool aggressive; if (againstPlayer) + { + // followers with high fight should not engage in combat with the player (e.g. bm_bear_black_summon) + const std::list& followers = getActorsFollowing(actor2); + if (std::find(followers.begin(), followers.end(), actor1) != followers.end()) + return; + aggressive = MWBase::Environment::get().getMechanicsManager()->isAggressive(actor1, actor2); + } else { aggressive = false; diff --git a/files/mygui/openmw_enchanting_dialog.layout b/files/mygui/openmw_enchanting_dialog.layout index def065b7a0..188c538e46 100644 --- a/files/mygui/openmw_enchanting_dialog.layout +++ b/files/mygui/openmw_enchanting_dialog.layout @@ -48,33 +48,52 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - -