Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000121Mana ClientInterfacepublic2010-04-17 04:362010-04-21 01:39
ReporterJaxad0127 
Assigned ToJaxad0127 
PrioritynormalSeveritymajorReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version1.0.0 
Target Version1.0.0Fixed in Version 
Summary0000121: Add a clear button to the NPC dialog to clear the conversation log
DescriptionThe NPC dialog needs a clear button to clear the back log of the conversation. Since text areas are still rather inefficient in the client, long conversations can have a large, negative impact on performance. I've attached a patch that adds the button.
TagsNo tags attached.
Attached Filespatch file icon 0001-Add-a-clear-button-to-the-NPC-dialog.patch [^] (11,978 bytes) 2010-04-20 21:09 [Show Content]

- Relationships

-  Notes
(0000373)
Bertram (developer)
2010-04-17 10:20

The patch is functional and I clearly see the performance problem, but as you can clear the latest NPC question without even answering it, I feel uneasy with this solution.

Wouldn't there be a way to only keep the last question (or block of text) in memory?
(0000374)
Bertram (developer)
2010-04-19 07:22

Hmm, better, much better :)

You'll kill me, but eh, ;)

Could the button be turned into a checkbox, so that people who don't need NPC history (like in 95% of the cases) can check this out and get the log wiped out automatically. (This being the default behaviour.)?
(0000375)
Jaxad0127 (administrator)
2010-04-19 07:29

A box can be added in settings for it, instead of in the dialog.
(0000376)
Bertram (developer)
2010-04-19 10:51

Good point!
You've got my support.
(0000377)
Jaxad0127 (administrator)
2010-04-20 20:14

That's been added now. When it isn't set to log the whole interaction, it'll keep the last message until the next input. A second input in a row won't have any text. The player's responses aren't added at all if logging is disabled.
(0000378)
Bertram (developer)
2010-04-20 20:45

The patch gives a segfault when you start a conversation with some npc, finish it, and then try to change the NPC log setting. Reproduced it each times:
#0 0xb7876451 in main_arena () from /lib/i686/cmov/libc.so.6
0000001 0x08286d06 in Configuration::setValue(std::string const&, std::string const&) ()
0000002 0x0819fdb4 in Configuration::setValue(std::string const&, char const*) ()
0000003 0x0819fea6 in Configuration::setValue(std::string const&, bool) ()
0000004 0x0820de05 in Setup_Video::action(gcn::ActionEvent const&) ()
0000005 0xb7c6394d in gcn::Widget::distributeActionEvent() () from /usr/lib/libguichan-0.8.1.so.1
0000006 0xb7c672c4 in gcn::CheckBox::toggleSelected() () from /usr/lib/libguichan-0.8.1.so.1
0000007 0xb7c673d6 in gcn::CheckBox::mouseClicked(gcn::MouseEvent&) () from /usr/lib/libguichan-0.8.1.so.1
0000008 0xb7c5b12a in gcn::Gui::distributeMouseEvent(gcn::Widget*, int, int, int, int, bool, bool) () from /usr/lib/libguichan-0.8.1.so.1
0000009 0xb7c5b462 in gcn::Gui::handleMouseReleased(gcn::MouseInput const&) () from /usr/lib/libguichan-0.8.1.so.1
0000010 0xb7c5cf4c in gcn::Gui::handleMouseInput() () from /usr/lib/libguichan-0.8.1.so.1
0000011 0xb7c5d113 in gcn::Gui::logic() () from /usr/lib/libguichan-0.8.1.so.1
0000012 0x081c10f6 in Gui::logic() ()
0000013 0x0827b0a1 in Client::exec() ()
0000014 0x082a2f43 in main ()

Also there is a typo here:
+ mNPCLogCheckBox(new CheckBox(_("Log NPC interrations"), mNPCLogEnabled)),
-> interaction.
Could you widen the setup window a bit while you're on it?

Thanks for all the hard work.
(0000379)
Jaxad0127 (administrator)
2010-04-20 21:06

Should be fixed now.
(0000380)
Bertram (developer)
2010-04-21 00:56

Trailing spaces apart in npcdialog.cpp, the patch is Reviewed and ready to go! :)
(0000384)
Jaxad0127 (administrator)
2010-04-21 01:39

Pushed with the whitespace fix as 3c6fac14b67b86e2af9bbcac9e017f4b485e8149.

- Issue History
Date Modified Username Field Change
2010-04-17 04:36 Jaxad0127 New Issue
2010-04-17 04:36 Jaxad0127 Status new => assigned
2010-04-17 04:36 Jaxad0127 Assigned To => Jaxad0127
2010-04-17 04:36 Jaxad0127 File Added: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-17 10:20 Bertram Note Added: 0000373
2010-04-18 19:36 Jaxad0127 File Deleted: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-18 19:36 Jaxad0127 File Added: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-19 07:22 Bertram Note Added: 0000374
2010-04-19 07:29 Jaxad0127 Note Added: 0000375
2010-04-19 10:51 Bertram Note Added: 0000376
2010-04-20 20:12 Jaxad0127 File Deleted: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-20 20:12 Jaxad0127 File Added: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-20 20:14 Jaxad0127 Note Added: 0000377
2010-04-20 20:45 Bertram Note Added: 0000378
2010-04-20 21:05 Jaxad0127 File Deleted: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-20 21:05 Jaxad0127 File Added: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-20 21:06 Jaxad0127 Note Added: 0000379
2010-04-20 21:08 Jaxad0127 File Deleted: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-20 21:09 Jaxad0127 File Added: 0001-Add-a-clear-button-to-the-NPC-dialog.patch
2010-04-21 00:56 Bertram Note Added: 0000380
2010-04-21 01:39 Jaxad0127 Note Added: 0000384
2010-04-21 01:39 Jaxad0127 Status assigned => resolved
2010-04-21 01:39 Jaxad0127 Resolution open => fixed


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker