openmw-tes3coop/apps/openmw/mwgui
David Cernat f481c85e07 [Client] Use ADD before REMOVE for PlayerInventory in repair/recharge
Previously, when recharging or repairing an item, the client sent a PlayerInventory packet to the server with the old version of the item that was supposed to be removed and then it sent a PlayerInventory packet with the new version of the item that was supposed to be added.

Unfortunately, the current CoreScripts make it so custom items using generated IDs have their records deleted when they are completely removed from the world, however briefly, even if they are added back immediately afterwards. In practice, this meant that – before this commit – recharging or repairing a custom item led to its removal from the player inventory stored on the server, followed by the deletion of its record, followed by its readdition to the inventory (but with the record staying deleted). Logging out and logging back in immediately prevented the player from receiving the item anymore because of its now non-existent record.
2019-01-11 13:08:26 +02:00
..
alchemywindow.cpp [General] Implement RecordDynamic packet, part 1 2018-07-30 10:56:26 +03:00
alchemywindow.hpp Include cleanup 2017-09-27 12:56:09 +00:00
backgroundimage.cpp Remove name extension for internal MyGUI textures 2015-05-15 23:21:29 +02:00
backgroundimage.hpp Add option to stretch menu backgrounds/cutscenes to the whole screen 2015-01-28 00:22:56 +01:00
birth.cpp Set default values for class and birthsign select menus (bug #4226) 2017-11-25 11:35:29 +04:00
birth.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
bookpage.cpp Fix memory leak 2018-03-13 21:32:59 +03:00
bookpage.hpp improve dialogue window performance 2017-07-26 18:58:27 +02:00
bookwindow.cpp Prevent PlaySound overlapping 2018-05-01 16:24:32 +04:00
bookwindow.hpp Improve keyboard navigation of book/scroll windows 2017-09-25 00:47:04 +02:00
charactercreation.cpp [Client] Disable automatic transition to other chargen menus from OpenMW 2018-04-19 13:47:42 +03:00
charactercreation.hpp Show starting abilities, powers and spells in stat-review window (Fixes #2410) 2016-11-19 21:51:19 +01:00
class.cpp Set default values for class and birthsign select menus (bug #4226) 2017-11-25 11:35:29 +04:00
class.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
companionitemmodel.cpp Include cleanup 2015-07-18 20:36:28 +02:00
companionitemmodel.hpp Remove NpcStats::mProfit and store it in the script instead 2015-01-31 22:40:40 +01:00
companionwindow.cpp Round up displayed encumbrance 2018-02-24 15:13:14 +03:00
companionwindow.hpp Include cleanup 2017-09-27 12:56:09 +00:00
confirmationdialog.cpp Remove unused and slightly broken custom button titles in ConfirmationDialog 2017-09-24 19:08:14 +02:00
confirmationdialog.hpp Remove unused and slightly broken custom button titles in ConfirmationDialog 2017-09-24 19:08:14 +02:00
console.cpp Merge pull request #469 from davidcernat/master while resolving conflicts 2018-08-20 14:08:44 +03:00
console.hpp [Client] Use new code to set the console's Ptrs from server scripts 2017-12-26 15:04:28 +02:00
container.cpp [Client] Don't finish drag & drop that is supposed to be unsuccessful 2018-12-06 18:11:52 +02:00
container.hpp [General] Rework container sync to prevent item duping 2018-03-26 19:27:36 +03:00
containeritemmodel.cpp Merge pull request #1549 from akortunov/itemmodels 2017-11-11 22:12:07 +00:00
containeritemmodel.hpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
controllers.cpp fixing MSVC 2013 warning C4244: & C4305 2015-03-08 13:07:29 +13:00
controllers.hpp Reduce MyGUI includes 2015-01-10 02:50:43 +01:00
countdialog.cpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
countdialog.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
cursor.cpp OpenMW compiles and runs w/o render window 2015-04-01 17:02:15 +02:00
cursor.hpp
debugwindow.cpp Fix build against bullet with profiler disabled (Fixes #3592) 2016-10-14 21:00:35 +02:00
debugwindow.hpp
dialogue.cpp Merged pull request #1845 2018-08-05 12:28:38 +02:00
dialogue.hpp Update dialogue topics list after result script is run 2017-11-15 17:20:06 +00:00
draganddrop.cpp [General] Rework container sync to prevent item duping 2018-03-26 19:27:36 +03:00
draganddrop.hpp [General] Rework container sync to prevent item duping 2018-03-26 19:27:36 +03:00
enchantingdialog.cpp [General] Implement RecordDynamic packet, part 1 2018-07-30 10:56:26 +03:00
enchantingdialog.hpp Make Enter on a name edit accept the dialog 2017-09-25 00:47:07 +02:00
exposedwindow.cpp
exposedwindow.hpp
formatting.cpp Consider <p> tag when discarding post-EOL tag text (regression #4473) 2018-06-23 14:27:40 +03:00
formatting.hpp Reduce MyGUI includes 2015-01-10 02:50:43 +01:00
hud.cpp [General] Reduce inventory-sending hooks to just 2 in ContainerStore 2018-08-28 05:01:52 +03:00
hud.hpp Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
inventoryitemmodel.cpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
inventoryitemmodel.hpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
inventorywindow.cpp [General] Reduce inventory-sending hooks to just 2 in ContainerStore 2018-08-28 05:01:52 +03:00
inventorywindow.hpp Rescale player avatar (bug #4539) 2018-07-30 17:41:43 +04:00
itemchargeview.cpp Explicitely set the user data type to avoid const/non-const mismatch 2017-03-13 02:48:23 +01:00
itemchargeview.hpp convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00
itemmodel.cpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
itemmodel.hpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
itemselection.cpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
itemselection.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
itemview.cpp Don't reset the item model's sort/filter options in updatePlayer (Fixes #2863) 2015-08-16 17:49:53 +02:00
itemview.hpp Merge branch 'master' of https://github.com/OpenMW/openmw into osg 2015-06-07 15:23:54 +02:00
itemwidget.cpp Don't use floating point arithmetics for formatted count (Bug #4346) 2018-03-07 15:36:10 +03:00
itemwidget.hpp ItemWidget: skip setImageTexture if the icon has not changed 2017-02-05 02:26:27 +01:00
jailscreen.cpp [Client] Don't advance time when waiting, traveling, training or jailed 2018-05-23 05:49:51 +03:00
jailscreen.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
journalbooks.cpp Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
journalbooks.hpp Remove getEncoding() from WindowManager 2017-11-22 08:32:38 +04:00
journalviewmodel.cpp Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
journalviewmodel.hpp Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
journalwindow.cpp [Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
journalwindow.hpp Remove getEncoding() from WindowManager 2017-11-22 08:32:38 +04:00
keyboardnavigation.cpp Implement filtering in the spells window 2018-05-24 10:48:46 +04:00
keyboardnavigation.hpp Add an option to disable GUI keyboard navigation (Bug #4333) 2018-03-08 23:39:35 +00:00
layout.cpp Move OEngine::Gui::Layout to MWGui 2015-05-01 02:22:51 +02:00
layout.hpp Move OEngine::Gui::Layout to MWGui 2015-05-01 02:22:51 +02:00
levelupdialog.cpp Fix wrong skin for levelup attribute values 2017-09-27 22:04:36 +02:00
levelupdialog.hpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
loadingscreen.cpp Do not touch GUI modes when taking screenshots (bug #4528) 2018-08-08 22:10:53 +04:00
loadingscreen.hpp use loading screen to freeze the screen 2017-11-16 22:08:33 +01:00
mainmenu.cpp [Client] Allow singleplayer-only saves in main menu during multiplayer 2018-07-09 22:53:18 +03:00
mainmenu.hpp Fix exiting savegamedialog with 'esc' when no game is running 2017-10-05 18:35:09 +02:00
mapwindow.cpp Merge pull request #456 from OpenMW/master while resolving conflicts 2018-07-04 01:52:29 +03:00
mapwindow.hpp [General] Implement sending of image data for map tiles in PlayerMap 2018-05-08 05:57:04 +03:00
merchantrepair.cpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
merchantrepair.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
messagebox.cpp Workaround to make sure message box remains on top (Fixes #4298) 2018-01-14 00:27:53 +00:00
messagebox.hpp Adding missing override keywords 2018-07-01 19:17:50 -05:00
mode.hpp Remove redundant RestBed gui mode 2017-09-24 19:08:14 +02:00
pickpocketitemmodel.cpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
pickpocketitemmodel.hpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
quickkeysmenu.cpp [General] Send certain packets only when logged in 2018-10-13 15:36:13 +03:00
quickkeysmenu.hpp Merge pull request #456 from OpenMW/master while resolving conflicts 2018-07-04 01:52:29 +03:00
race.cpp Merge pull request #303 from OpenMW/master while resolving conflicts 2017-10-06 04:10:04 +03:00
race.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
recharge.cpp [Client] Use ADD before REMOVE for PlayerInventory in repair/recharge 2019-01-11 13:08:26 +02:00
recharge.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
referenceinterface.cpp Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
referenceinterface.hpp Remove redundant player cell variable 2017-09-24 19:08:13 +02:00
repair.cpp Include cleanup 2017-09-27 12:56:09 +00:00
repair.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
review.cpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
review.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
savegamedialog.cpp Fix unused event handler 2017-10-15 17:06:58 +02:00
savegamedialog.hpp Update the saves list/preview image when character selection changes to make it more convenient to flip through characters with the keyboard 2017-10-04 16:00:39 +00:00
screenfader.cpp Use MyGUI frame events for ScreenFader 2017-10-04 16:00:38 +00:00
screenfader.hpp Use MyGUI frame events for ScreenFader 2017-10-04 16:00:38 +00:00
scrollwindow.cpp Improve keyboard navigation of book/scroll windows 2017-09-25 00:47:04 +02:00
scrollwindow.hpp Improve keyboard navigation of book/scroll windows 2017-09-25 00:47:04 +02:00
settingswindow.cpp Merge pull request #456 from OpenMW/master while resolving conflicts 2018-07-04 01:52:29 +03:00
settingswindow.hpp Call onResChange for every window 2017-09-24 19:08:15 +02:00
sortfilteritemmodel.cpp Remove missing souls, remove some runaway exceptions (Fixes #4111) 2018-03-08 23:38:04 +00:00
sortfilteritemmodel.hpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
soulgemdialog.cpp Improve WindowManager API with a generic way of passing a Ptr to the opened GUI window 2017-09-24 19:08:12 +02:00
soulgemdialog.hpp
spellbuyingwindow.cpp [Client] Combine methods for sending spell packets into a single one 2018-08-21 01:20:30 +03:00
spellbuyingwindow.hpp Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
spellcreationdialog.cpp [General] Implement RecordDynamic packet, part 1 2018-07-30 10:56:26 +03:00
spellcreationdialog.hpp Make Enter on a name edit accept the dialog 2017-09-25 00:47:07 +02:00
spellicons.cpp durations in tooltips : use "show effect duration" setting 2015-09-16 22:42:54 +02:00
spellicons.hpp Silence -Wreorder warnings. 2015-04-28 18:48:02 -05:00
spellmodel.cpp Show magic items count in spells window (feature #4509) 2018-07-16 14:11:03 +04:00
spellmodel.hpp Initialize missing variables 2018-08-01 20:18:37 +04:00
spellview.cpp Show magic items count in spells window (feature #4509) 2018-07-16 14:11:03 +04:00
spellview.hpp remove boost/tuple 2017-06-09 19:08:53 +02:00
spellwindow.cpp [Client] Combine methods for sending spell packets into a single one 2018-08-21 01:20:30 +03:00
spellwindow.hpp Implement filtering in the spells window 2018-05-24 10:48:46 +04:00
statswindow.cpp Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
statswindow.hpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
textcolours.hpp improve dialogue window performance 2017-07-26 18:58:27 +02:00
textinput.cpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
textinput.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
timeadvancer.cpp Add training progress bar, implement jail screen, tweak wait dialog (Fixes #1714) 2015-02-07 04:05:28 +01:00
timeadvancer.hpp Add training progress bar, implement jail screen, tweak wait dialog (Fixes #1714) 2015-02-07 04:05:28 +01:00
tooltips.cpp check MWWorld::Ptr != NULL for MWGui ItemPtr tooltips 2018-06-26 13:41:53 +10:00
tooltips.hpp Use owned tooltips for items in containers correctly 2017-10-04 12:13:45 +04:00
tradeitemmodel.cpp Use owned tooltips for items in containers correctly 2017-10-04 12:13:45 +04:00
tradeitemmodel.hpp Use owned tooltips for items in containers correctly 2017-10-04 12:13:45 +04:00
tradewindow.cpp [General] Reduce inventory-sending hooks to just 2 in ContainerStore 2018-08-28 05:01:52 +03:00
tradewindow.hpp Make TradeWindow not depend on DialogueWindow 2017-09-25 18:07:49 +02:00
trainingwindow.cpp [General] Reduce inventory-sending hooks to just 2 in ContainerStore 2018-08-28 05:01:52 +03:00
trainingwindow.hpp Allow training window exit() 2017-10-08 20:38:20 +00:00
travelwindow.cpp Merge pull request #469 from davidcernat/master while resolving conflicts 2018-08-20 14:08:44 +03:00
travelwindow.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
videowidget.cpp Change the way that image origin is converted to OpenGL's lower-left convention 2016-02-05 21:03:11 +01:00
videowidget.hpp convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00
waitdialog.cpp [Client] Disable autosaving when waiting 2018-07-08 23:04:30 +03:00
waitdialog.hpp Add missing WaitDialog::clear() (Fixes #4196) 2017-11-08 00:24:04 +00:00
widgets.cpp [Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
widgets.hpp [Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
windowbase.cpp Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
windowbase.hpp Adding missing override keywords 2018-07-01 19:17:50 -05:00
windowmanagerimp.cpp Merge pull request #469 from davidcernat/master while resolving conflicts 2018-08-20 14:08:44 +03:00
windowmanagerimp.hpp Merge pull request #457 from OpenMW/master while resolving conflicts 2018-07-14 03:57:05 +03:00
windowpinnablebase.cpp Use mouse pressed event for pin button instead of mouse click 2015-01-31 22:40:41 +01:00
windowpinnablebase.hpp Use mouse pressed event for pin button instead of mouse click 2015-01-31 22:40:41 +01:00