Skip to content

Commit 35d68f0

Browse files
author
scrawl
committed
Update dialogue topics list after result script is run
Regression from 0.42.
1 parent 93e9df1 commit 35d68f0

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

apps/openmw/mwgui/dialogue.cpp

+13-1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ namespace MWGui
4545
mWindow->addResponse(title, text, mNeedMargin);
4646
}
4747

48+
void updateTopics()
49+
{
50+
mWindow->updateTopics();
51+
}
52+
4853
private:
4954
DialogueWindow* mWindow;
5055
bool mNeedMargin;
@@ -91,6 +96,7 @@ namespace MWGui
9196
type = MWBase::MechanicsManager::PT_Bribe1000;
9297

9398
MWBase::Environment::get().getDialogueManager()->persuade(type, mCallback.get());
99+
mCallback->updateTopics();
94100

95101
setVisible(false);
96102
}
@@ -395,6 +401,8 @@ namespace MWGui
395401
else if (topic == gmst.find("sRepair")->getString())
396402
MWBase::Environment::get().getWindowManager()->pushGuiMode(GM_MerchantRepair, mPtr);
397403
}
404+
else
405+
updateTopics();
398406
}
399407
}
400408

@@ -432,7 +440,9 @@ namespace MWGui
432440

433441
setTitle(mPtr.getClass().getName(mPtr));
434442

435-
updateTopicsPane();
443+
updateTopics();
444+
updateTopicsPane(); // force update for new services
445+
436446
updateDisposition();
437447
restock();
438448
}
@@ -620,11 +630,13 @@ namespace MWGui
620630
void DialogueWindow::onTopicActivated(const std::string &topicId)
621631
{
622632
MWBase::Environment::get().getDialogueManager()->keywordSelected(topicId, mCallback.get());
633+
updateTopics();
623634
}
624635

625636
void DialogueWindow::onChoiceActivated(int id)
626637
{
627638
MWBase::Environment::get().getDialogueManager()->questionAnswered(id, mCallback.get());
639+
updateTopics();
628640
}
629641

630642
void DialogueWindow::onGoodbyeActivated()

apps/openmw/mwgui/dialogue.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,9 @@ namespace MWGui
131131
void onFrame(float dt);
132132
void clear() { resetReference(); }
133133

134-
protected:
135134
void updateTopics();
135+
136+
protected:
136137
void updateTopicsPane();
137138
bool isCompanion(const MWWorld::Ptr& actor);
138139
bool isCompanion();

0 commit comments

Comments
 (0)