diff --git a/nel/include/nel/gui/group_html.h b/nel/include/nel/gui/group_html.h
index 8b6ad19b6..4f972b191 100644
--- a/nel/include/nel/gui/group_html.h
+++ b/nel/include/nel/gui/group_html.h
@@ -969,6 +969,7 @@ namespace NLGUI
// stop all curl downalods (html and data)
void releaseDownloads();
+ void releaseDataDownloads();
void checkDownloads();
// _CurlWWW download finished
diff --git a/nel/src/gui/group_html.cpp b/nel/src/gui/group_html.cpp
index 107ab107a..de7e6effe 100644
--- a/nel/src/gui/group_html.cpp
+++ b/nel/src/gui/group_html.cpp
@@ -299,6 +299,11 @@ namespace NLGUI
void CGroupHTML::ImageDownloadCB::finish()
{
+ // Image setTexture will remove itself from Images while iterating over it.
+ // Do the swap to keep iterator safe.
+ std::vector vec;
+ vec.swap(Images);
+
// tmpdest file does not exist if download skipped (ie cache was used)
if (CFile::fileExists(tmpdest) || CFile::getFileSize(tmpdest) == 0)
{
@@ -322,7 +327,7 @@ namespace NLGUI
// to temp file temporarily. that forces driver to reload texture from disk
// ITexture::touch() seem not to do this.
// cache was updated, first set texture as temp file
- for(std::vector::iterator it = Images.begin(); it != Images.end(); ++it)
+ for(std::vector::iterator it = vec.begin(); it != vec.end(); ++it)
{
SImageInfo &img = *it;
Parent->setImage(img.Image, tmpdest, img.Type);
@@ -339,7 +344,7 @@ namespace NLGUI
}
// even if image was cached, incase there was 'http://' image set to CViewBitmap
- for(std::vector::iterator it = Images.begin(); it != Images.end(); ++it)
+ for(std::vector::iterator it = vec.begin(); it != vec.end(); ++it)
{
SImageInfo &img = *it;
Parent->setImage(img.Image, dest, img.Type);
@@ -1053,6 +1058,13 @@ namespace NLGUI
_CurlWWW = NULL;
}
+ releaseDataDownloads();
+ }
+
+ void CGroupHTML::releaseDataDownloads()
+ {
+ LOG_DL("Clear pointers to %d curls", Curls.size());
+
// remove all queued and already started downloads
for(std::list::iterator it = Curls.begin(); it != Curls.end(); ++it)
{
@@ -3080,14 +3092,7 @@ namespace NLGUI
paragraphChange ();
- // clear the pointer to the current image download since all the button are deleted
- LOG_DL("Clear pointers to %d curls", Curls.size());
-
- // remove image refs from downloads
- /*for(std::list::iterator it = Curls.begin(); it != Curls.end(); ++it)
- {
- it->imgs.clear();
- }*/
+ releaseDataDownloads();
}
// ***************************************************************************
diff --git a/nel/src/gui/lua_ihm.cpp b/nel/src/gui/lua_ihm.cpp
index 229cd1f0f..8d4d64b88 100644
--- a/nel/src/gui/lua_ihm.cpp
+++ b/nel/src/gui/lua_ihm.cpp
@@ -1123,7 +1123,6 @@ namespace NLGUI
if(!pIE)
{
ls.pushNil();
- nlerror("getCurrentWindowUnder(): No UICaller found. return Nil");
}
else
{
@@ -1672,7 +1671,7 @@ namespace NLGUI
ls.registerFunc("runFct", runFct);
ls.registerFunc("runCommand", runCommand);
ls.registerFunc("getPathContent", getPathContent);
-
+
// Through LUABind API
lua_State *L= ls.getStatePointer();
diff --git a/nel/src/gui/lua_manager.cpp b/nel/src/gui/lua_manager.cpp
index 31f2a4450..7034f6b7e 100644
--- a/nel/src/gui/lua_manager.cpp
+++ b/nel/src/gui/lua_manager.cpp
@@ -70,7 +70,17 @@ namespace NLGUI
}
catch( const ELuaError &e )
{
- nlwarning( e.luaWhat().c_str() );
+ #if !FINAL_VERSION
+ nlwarning("--- LUA ERROR ---");
+ nlwarning(e.luaWhat().c_str());
+ std::vector res;
+ NLMISC::explode(luaScript, std::string("\n"), res);
+ for(uint k = 0; k < res.size(); ++k)
+ {
+ nlwarning("%.05u %s", k, res[k].c_str());
+ }
+ nlwarning("--- ********* ---");
+ #endif
return false;
}
diff --git a/nel/src/gui/view_bitmap.cpp b/nel/src/gui/view_bitmap.cpp
index 89c944a18..1896ced40 100644
--- a/nel/src/gui/view_bitmap.cpp
+++ b/nel/src/gui/view_bitmap.cpp
@@ -481,7 +481,13 @@ namespace NLGUI
}
else
{
- _HtmlDownload = NULL;
+ if (_HtmlDownload)
+ {
+ CGroupHTML *groupHtml = dynamic_cast(CWidgetManager::getInstance()->getElementFromId("ui:interface:webig:content:html"));
+ if (groupHtml)
+ groupHtml->removeImageDownload(_HtmlDownload, dynamic_cast(this));
+ _HtmlDownload = NULL;
+ }
_TextureId.setTexture (TxName.c_str (), _TxtOffsetX, _TxtOffsetY, _TxtWidth, _TxtHeight, false);
}
}
diff --git a/ryzom/client/src/client_cfg.cpp b/ryzom/client/src/client_cfg.cpp
index 7491e9413..98ad5b9bc 100644
--- a/ryzom/client/src/client_cfg.cpp
+++ b/ryzom/client/src/client_cfg.cpp
@@ -1297,7 +1297,6 @@ void CClientConfig::setValues()
if (varPtr)
{
if (nlstricmp(varPtr->asString(), "Auto") == 0) ClientCfg.DriverSound = CClientConfig::SoundDrvAuto;
- else if (nlstricmp(varPtr->asString(), "FMod") == 0) ClientCfg.DriverSound = CClientConfig::SoundDrvFMod;
else if (nlstricmp(varPtr->asString(), "OpenAL") == 0) ClientCfg.DriverSound = CClientConfig::SoundDrvOpenAL;
else if (nlstricmp(varPtr->asString(), "DirectSound") == 0) ClientCfg.DriverSound = CClientConfig::SoundDrvDirectSound;
else if (nlstricmp(varPtr->asString(), "XAudio2") == 0) ClientCfg.DriverSound = CClientConfig::SoundDrvXAudio2;
diff --git a/ryzom/client/src/client_cfg.h b/ryzom/client/src/client_cfg.h
index 8c0c299b4..0cf859721 100644
--- a/ryzom/client/src/client_cfg.h
+++ b/ryzom/client/src/client_cfg.h
@@ -58,7 +58,7 @@ using std::string;
struct CClientConfig
{
enum TDriver3D { DrvAuto = 0, OpenGL, Direct3D, OpenGLES };
- enum TDriverSound { SoundDrvAuto = 0, SoundDrvFMod, SoundDrvOpenAL, SoundDrvDirectSound, SoundDrvXAudio2 };
+ enum TDriverSound { SoundDrvAuto = 0, SoundDrvOpenAL, SoundDrvDirectSound, SoundDrvXAudio2 };
enum TStageLCTUsage { StageUseNoLCT = 0, StageUseAllLCT, StageUsePosOnlyLCT };
// the config file must be always be available
diff --git a/ryzom/client/src/commands.cpp b/ryzom/client/src/commands.cpp
index 18f2eb779..00d2b9e4f 100644
--- a/ryzom/client/src/commands.cpp
+++ b/ryzom/client/src/commands.cpp
@@ -408,18 +408,6 @@ NLMISC_COMMAND(afk, "Set the player as 'away from keyboard'","[]")
return true;
}
-NLMISC_COMMAND(selfkill, "Kill the player ","")
-{
- CBitMemStream out;
- if(!GenericMsgHeaderMngr.pushNameToStream("COMMAND:SELFKILL", out))
- {
- nlwarning("Unknown message name COMMAND:SELFKILL");
- return false;
- }
- NetMngr.push(out);
- return true;
-}
-
bool randomCheckCharset(std::string const& str)
{
std::string::const_iterator it, itEnd = str.end();
diff --git a/ryzom/client/src/far_tp.cpp b/ryzom/client/src/far_tp.cpp
index 6bd05172a..3461c824f 100644
--- a/ryzom/client/src/far_tp.cpp
+++ b/ryzom/client/src/far_tp.cpp
@@ -466,7 +466,7 @@ void CLoginStateMachine::run()
/// check the data to check if patch needed
CLoginProgressPostThread::getInstance().step(CLoginStep(LoginStep_PostLogin, "login_step_post_login"));
- if (!ClientCfg.PatchWanted || (Args.haveArg("n") && Args.getLongArg("nopatch").front() == "1"))
+ if (!ClientCfg.PatchWanted || Args.haveLongArg("nopatch"))
{
// client don't want to be patched !
_CurrentState = st_display_eula;
diff --git a/ryzom/client/src/interface_v3/action_handler_game.cpp b/ryzom/client/src/interface_v3/action_handler_game.cpp
index 06a97671d..f05ffb271 100644
--- a/ryzom/client/src/interface_v3/action_handler_game.cpp
+++ b/ryzom/client/src/interface_v3/action_handler_game.cpp
@@ -1095,20 +1095,6 @@ public:
REGISTER_ACTION_HANDLER( CHandlerContextWebPage, "context_web_page");
-// ***************************************************************************
-class CHandlerFullMap : public IActionHandler
-{
-public:
- void execute (CCtrlBase * /* pCaller */, const std::string &/* sParams */)
- {
- CInterfaceManager *pIM= CInterfaceManager::getInstance();
-
- CLuaManager::getInstance().executeLuaScript("game:openFullMap()", true);
- }
-};
-REGISTER_ACTION_HANDLER( CHandlerFullMap, "fullmap");
-
-
// ***************************************************************************
@@ -1972,7 +1958,7 @@ public:
bool womanTitle = false;
if (pChar != NULL)
womanTitle = pChar->getGender() == GSGENDER::female;
-
+
copyInout = STRING_MANAGER::CStringManagerClient::getTitleLocalizedName(CEntityCL::getTitleFromName(copyInout), womanTitle);
// Sometimes translation contains another title
@@ -2679,9 +2665,9 @@ class CAHAddShape : public IActionHandler
instance.setPos(CVector((float)x, (float)y, (float)z));
instance.setRotQuat(dir.getRot());
}
-
+
instance.setTransformMode(UTransformable::RotEuler);
-
+
// if the shape is a particle system, additionnal parameters are user params
UParticleSystemInstance psi;
psi.cast (instance);
@@ -3416,7 +3402,7 @@ class CHandlerGameConfigVREnable : public IActionHandler
// VR_CONFIG
CCtrlBaseButton *pBut = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(GAME_CONFIG_VR_ENABLE_BUTTON));
- if (pBut)
+ if (pBut)
{
// hide or show device list depending on enabled or not
updateVRDevicesComboUI(pBut->getPushed());
@@ -3555,7 +3541,7 @@ class CHandlerGameConfigApply : public IActionHandler
NLGUI::CDBManager::getInstance()->getDbProp("UI:SAVE:CHAT:AUTO_CHANNEL")->setValue32(pCS->getPushed());
CCtrlBaseButton *pBut = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(GAME_CONFIG_VR_ENABLE_BUTTON));
- if (pBut)
+ if (pBut)
{
// store the new config variables
ClientCfg.VREnable = pBut->getPushed();
diff --git a/ryzom/client/src/interface_v3/action_handler_item.cpp b/ryzom/client/src/interface_v3/action_handler_item.cpp
index da7e95fd8..9bbf9fbc8 100644
--- a/ryzom/client/src/interface_v3/action_handler_item.cpp
+++ b/ryzom/client/src/interface_v3/action_handler_item.cpp
@@ -208,7 +208,7 @@ void CInterfaceItemEdition::CItemEditionWindow::begin()
{
if(_CurrItemSheet && !WindowName.empty())
{
-
+
const CItemSheet *pIS = _CurrItemSheet->asItemSheet();
if ((pIS != NULL) && ITEMFAMILY::isTextCustomizable(pIS->Family) )
{
@@ -342,7 +342,7 @@ void CInterfaceItemEdition::CItemEditionWindow::begin()
// ********************************************************************************************
void CInterfaceItemEdition::CItemEditionWindow::end()
{
-
+
CDBCtrlSheet *pCSItem = _CurrItemSheet;
std::string windowName = WindowName;
if(pCSItem && !windowName.empty())
@@ -371,7 +371,7 @@ void CInterfaceItemEdition::CItemEditionWindow::end()
editBoxShort->setActive(false);
editShort->setActive(false);
editBoxLarge->setActive(false);
- editLarge->setActive(false);
+ editLarge->setActive(false);
display->setActive(false);
editButtons->setActive(false);
closeButton->setActive(false);
@@ -413,7 +413,7 @@ void CInterfaceItemEdition::CItemEditionWindow::validate()
textValid = editLarge->getActive();
text = editBoxLarge->getInputString();
}
-
+
if (textValid)
{
CBitMemStream out;
@@ -1722,7 +1722,7 @@ void CItemMenuInBagInfoWaiter::infoReceived()
void CItemMenuInBagInfoWaiter::infoValidated(CDBCtrlSheet* ctrlSheet)
{
CInterfaceManager *pIM = CInterfaceManager::getInstance();
-
+
// get the dialog stack
CInterfaceGroup* pMenu = dynamic_cast( CWidgetManager::getInstance()->getElementFromId("ui:interface:item_menu_in_bag") );
if(!pMenu) return;
@@ -1960,15 +1960,16 @@ class CHandlerItemMenuCheck : public IActionHandler
for(i=0;isetActive((uint)invId!=INVENTORIES::pet_animal+i &&
+ pMoveToPa[i]->setActive(invId!=INVENTORIES::guild &&
+ (uint)invId!=INVENTORIES::pet_animal+i &&
invMngr.isInventoryPresent((INVENTORIES::TInventory)(INVENTORIES::pet_animal+i)) );
}
if (pMoveToGuild)
- pMoveToGuild->setActive(invId!=INVENTORIES::guild && invMngr.isInventoryPresent(INVENTORIES::guild));
+ pMoveToGuild->setActive(invId==INVENTORIES::bag && invMngr.isInventoryPresent(INVENTORIES::guild));
if (pMoveToRoom)
- pMoveToRoom->setActive(invId!=INVENTORIES::player_room && invMngr.isInventoryPresent(INVENTORIES::player_room));
+ pMoveToRoom->setActive(invId==INVENTORIES::bag && invMngr.isInventoryPresent(INVENTORIES::player_room));
// std case: can drop / destroy
if(pDrop) pDrop->setActive(invId!=INVENTORIES::guild);
@@ -2036,7 +2037,7 @@ class CHandlerItemMenuCheck : public IActionHandler
if (pMoveSubMenu) pMoveSubMenu->setActive(false);
}
- if (bIsLockedByOwner)
+ if (bIsLockedByOwner)
{
if (pLockUnlock) pLockUnlock->setHardText("uimUnlockItem");
// Cannot drop/destroy if locked by owner
@@ -2049,8 +2050,7 @@ class CHandlerItemMenuCheck : public IActionHandler
}
// Only show lock menu item if inventory contains the info
- if (invId!=INVENTORIES::guild)
- if (pLockUnlock) pLockUnlock->setActive(pCS->canOwnerLock());
+ if (pLockUnlock) pLockUnlock->setActive(pCS->canOwnerLock());
// **** Gray Entries
@@ -2207,7 +2207,7 @@ class CHandlerItemMenuBaseCheck : public IActionHandler
CViewTextMenu *pDestroy = dynamic_cast(pMenu->getView("destroy"));
CViewTextMenu *pLockUnlock = dynamic_cast(pMenu->getView("lockunlock"));
- if (pCS->getLockedByOwner())
+ if (pCS->getLockedByOwner())
{
pLockUnlock->setHardText("uimUnlockItem");
// Cannot destroy if locked by owner
@@ -2364,7 +2364,7 @@ class CHandlerItemTextDisplay : public IActionHandler
std::string const& windowName = sParams;
CInterfaceManager *pIM = CInterfaceManager::getInstance();
CDBCtrlSheet *pCSItem = dynamic_cast(CWidgetManager::getInstance()->getCtrlLaunchingModal());
- if (pCSItem == NULL || windowName.empty())
+ if (pCSItem == NULL || windowName.empty())
return;
const CItemSheet *pIS = pCSItem->asItemSheet();
@@ -2385,7 +2385,7 @@ class CHandlerItemTextEdition : public IActionHandler
std::string const& windowName = sParams;
CInterfaceManager *pIM = CInterfaceManager::getInstance();
CDBCtrlSheet *pCSItem = dynamic_cast(CWidgetManager::getInstance()->getCtrlLaunchingModal());
- if (pCSItem == NULL || windowName.empty())
+ if (pCSItem == NULL || windowName.empty())
return;
CInterfaceItemEdition::getInstance()->setCurrWindow(pCSItem, windowName, true);
diff --git a/ryzom/client/src/interface_v3/action_phrase_faber.cpp b/ryzom/client/src/interface_v3/action_phrase_faber.cpp
index 05e5735e1..7625be010 100644
--- a/ryzom/client/src/interface_v3/action_phrase_faber.cpp
+++ b/ryzom/client/src/interface_v3/action_phrase_faber.cpp
@@ -50,10 +50,6 @@ using namespace NLMISC;
// ***************************************************************************
const std::string FaberPlanDB= "UI:PHRASE:FABER:FABER_PLAN:SHEET";
-const std::string FaberPlanHpBuffDB= "UI:PHRASE:FABER:FABER_PLAN:HP_BUFF";
-const std::string FaberPlanSapBuffDB= "UI:PHRASE:FABER:FABER_PLAN:SAP_BUFF";
-const std::string FaberPlanStaBuffDB= "UI:PHRASE:FABER:FABER_PLAN:STA_BUFF";
-const std::string FaberPlanFocusBuffDB= "UI:PHRASE:FABER:FABER_PLAN:FOCUS_BUFF";
const std::string MPFaberDB= "UI:PHRASE:FABER:MP_BUILD";
const std::string MPSelectionDB= "UI:PHRASE:FABER:MP_SELECT";
const std::string MPQuantityDb= "UI:PHRASE:FABER:MP_QUANTITY";
@@ -174,16 +170,6 @@ void CActionPhraseFaber::launchFaberCastWindow(sint32 memoryLine, uint memoryIn
if(node)
node->setValue32(0);
- // Reset buff values
- node = NLGUI::CDBManager::getInstance()->getDbProp(FaberPlanHpBuffDB, false);
- if (node) node->setValue32(0);
- node = NLGUI::CDBManager::getInstance()->getDbProp(FaberPlanSapBuffDB, false);
- if (node) node->setValue32(0);
- node = NLGUI::CDBManager::getInstance()->getDbProp(FaberPlanStaBuffDB, false);
- if (node) node->setValue32(0);
- node = NLGUI::CDBManager::getInstance()->getDbProp(FaberPlanFocusBuffDB, false);
- if (node) node->setValue32(0);
-
// Reset the result item
node= NLGUI::CDBManager::getInstance()->getDbProp(ItemResultSheetDB, false);
if(node)
@@ -1579,14 +1565,6 @@ void CActionPhraseFaber::updateItemResult()
uint phraseSlot= pPM->getMemorizedPhrase(_ExecuteFromMemoryLine, _ExecuteFromMemoryIndex);
const CSPhraseCom &phrase= pPM->getPhrase(phraseSlot);
uint32 recommendedPropId= pBM->getBrickPropId("cr_recommended");
- uint32 crHp = pBM->getBrickPropId("cr_hp");
- uint32 crSap = pBM->getBrickPropId("cr_sap");
- uint32 crSta = pBM->getBrickPropId("cr_sta");
- uint32 crFocus = pBM->getBrickPropId("cr_focus");
- sint32 hpBuff = 0;
- sint32 sapBuff = 0;
- sint32 staBuff = 0;
- sint32 focusBuff = 0;
for(i=0;igetBrick(phrase.Bricks[i]);
@@ -1600,30 +1578,10 @@ void CActionPhraseFaber::updateItemResult()
// minimze the level
minLevel= min(minLevel, sint32(brick->Properties[j].Value));
}
-
- if (brick->Properties[j].PropId == crHp)
- hpBuff = sint32(brick->Properties[j].Value);
- if (brick->Properties[j].PropId == crSap)
- sapBuff = sint32(brick->Properties[j].Value);
- if (brick->Properties[j].PropId == crSta)
- staBuff = sint32(brick->Properties[j].Value);
- if (brick->Properties[j].PropId == crFocus)
- focusBuff = sint32(brick->Properties[j].Value);
}
}
}
- {
- NLGUI::CDBManager *cdb = NLGUI::CDBManager::getInstance();
- NLMISC::CCDBNodeLeaf *node = cdb->getDbProp(FaberPlanHpBuffDB, false);
- if (node) node->setValue32(hpBuff);
- node = cdb->getDbProp(FaberPlanSapBuffDB, false);
- if (node) node->setValue32(sapBuff);
- node = cdb->getDbProp(FaberPlanStaBuffDB, false);
- if (node) node->setValue32(staBuff);
- node = cdb->getDbProp(FaberPlanFocusBuffDB, false);
- if (node) node->setValue32(focusBuff);
- }
// **** Parse all MPs setuped, to compute level and stats
uint totalItemPartMPReq= 0;
diff --git a/ryzom/client/src/interface_v3/dbctrl_sheet.cpp b/ryzom/client/src/interface_v3/dbctrl_sheet.cpp
index 0b8cda2ee..599e99716 100644
--- a/ryzom/client/src/interface_v3/dbctrl_sheet.cpp
+++ b/ryzom/client/src/interface_v3/dbctrl_sheet.cpp
@@ -2534,8 +2534,7 @@ void CDBCtrlSheet::drawSheet (sint32 x, sint32 y, bool draging, bool showSelecti
// there is max 4 icons
sint32 hArea = (hSheet / 4);
sint32 xIcon = x;
- // move buff icons up a row, quantity text is displayed on bottom-left corner
- sint32 yIcon = y + hArea;
+ sint32 yIcon = y;
for (uint i = 0; i < _BuffIcons.size(); ++i)
{
sint32 wIcon = _BuffIcons[i].IconW;
diff --git a/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp b/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp
index b6dde9379..4c21fee47 100644
--- a/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp
+++ b/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp
@@ -799,11 +799,7 @@ static DECLARE_INTERFACE_USER_FCT(getAnimalInventoryStateText)
// According to server status, change the inventory text
uint status= (uint)args[0].getInteger();
- if(ANIMAL_STATUS::isInBag((ANIMAL_STATUS::EAnimalStatus)status))
- {
- result.setString("uiAnimalInBag");
- }
- else if(ANIMAL_STATUS::isInStable((ANIMAL_STATUS::EAnimalStatus)status))
+ if(ANIMAL_STATUS::isInStable((ANIMAL_STATUS::EAnimalStatus)status))
{
result.setString("uiAnimalInStable");
}
diff --git a/ryzom/client/src/sound_manager.cpp b/ryzom/client/src/sound_manager.cpp
index 572bf2c07..3253aedec 100644
--- a/ryzom/client/src/sound_manager.cpp
+++ b/ryzom/client/src/sound_manager.cpp
@@ -468,9 +468,7 @@ void CSoundManager::init(IProgressCallback *progressCallBack)
_AudioMixer->setPackedSheetOption("", false);
UAudioMixer::TDriver driverType= UAudioMixer::DriverAuto;
- if(ClientCfg.DriverSound==CClientConfig::SoundDrvFMod)
- driverType= UAudioMixer::DriverFMod;
- else if(ClientCfg.DriverSound==CClientConfig::SoundDrvOpenAL)
+ if(ClientCfg.DriverSound==CClientConfig::SoundDrvOpenAL)
driverType= UAudioMixer::DriverOpenAl;
else if(ClientCfg.DriverSound==CClientConfig::SoundDrvDirectSound)
driverType= UAudioMixer::DriverDSound;
diff --git a/ryzom/common/src/game_share/generate_module_interface.xslt b/ryzom/common/src/game_share/generate_module_interface.xslt
index ee87f6ae4..94750a59e 100644
--- a/ryzom/common/src/game_share/generate_module_interface.xslt
+++ b/ryzom/common/src/game_share/generate_module_interface.xslt
@@ -19,7 +19,22 @@
-
+// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
+// Copyright (C) 2010-2021 Winch Gate Property Limited
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
/////////////////////////////////////////////////////////////////
// WARNING : this is a generated file, don't change it !
/////////////////////////////////////////////////////////////////
@@ -1676,13 +1691,14 @@ namespace
{
// cascading deletion for vector child
- nlassert(load(connection, __FILE__, __LINE__));
-
- const std::vector < Ptr > & childs = get();
-
- while (!childs.empty())
+ if (load(connection, __FILE__, __LINE__))
{
- getByIndex(childs.size()-1)->remove(connection);
+ const std::vector < Ptr > & childs = get();
+
+ while (!childs.empty())
+ {
+ getByIndex((uint32)childs.size()-1)->remove(connection);
+ }
}
}
@@ -1690,72 +1706,77 @@ namespace
{
// cascading deletion for map child
- nlassert(load(connection, __FILE__, __LINE__));
-
- const std::map < uint32, Ptr > & childs = get();
-
- while (!childs.empty())
+ if (load(connection, __FILE__, __LINE__))
{
- getById(childs.begin()->first)->remove(connection);
+ const std::map < uint32, Ptr > & childs = get();
+
+ while (!childs.empty())
+ {
+ getById(childs.begin()->first)->remove(connection);
+ }
}
}
{
// cascading deletion for single child
- nlassert(load(connection, __FILE__, __LINE__));
-
- if (get() != NULL)
- get()->remove(connection);
+ if (load(connection, __FILE__, __LINE__))
+ {
+ if (get() != NULL)
+ get()->remove(connection);
+ }
}
{
// unreference (and update) for vector child
- nlassert(load(connection, __FILE__, __LINE__));
-
- const std::vector < Ptr > & childs = get();
-
- for (uint i=0; i < childs.size(); ++i)
+ if (load(connection, __FILE__, __LINE__))
{
-
-
-
- getByIndex(i)->set(0);
- getByIndex(i)->update(connection);
+ const std::vector < Ptr > & childs = get();
+
+ for (uint i=0; i < childs.size(); ++i)
+ {
+
+
+
+ getByIndex(i)->set(0);
+ getByIndex(i)->update(connection);
+ }
}
}
{
// unreference (and update) for map child
- nlassert(load(connection, __FILE__, __LINE__));
+ if (load(connection, __FILE__, __LINE__)) {
- const std::map < uint32, Ptr > & childs = get();
- std::map< uint32, Ptr >::const_iterator first(childs.begin()), last(childs.end());
+ const std::map < uint32, Ptr > & childs = get();
+ std::map< uint32, Ptr >::const_iterator first(childs.begin()), last(childs.end());
- for (; first != last; ++first)
- {
-
-
-
- getById(it->first)->set(0);
- getById(it->first)->update(connection);
+ for (; first != last; ++first)
+ {
+
+
+
+ getById(it->first)->set(0);
+ getById(it->first)->update(connection);
+ }
}
}
{
// unreference (and update) for single child
- nlassert(load(connection, __FILE__, __LINE__));
-
-
-
-
- if (get() != NULL)
+ if (load(connection, __FILE__, __LINE__))
{
- get()->set(0);
- get()->update(connection);
+
+
+
+ if (get() != NULL)
+ {
+ get()->set(0);
+ get()->update(connection);
+ }
}
}
@@ -1886,7 +1907,7 @@ namespace
}
else if (cmd == NOPE::cc_instance_count)
{
- return _ObjectCache.size();
+ return (uint32)_ObjectCache.size();
}
// default return value
@@ -1904,7 +1925,7 @@ namespace
TReleasedObject::iterator first(_ReleasedObject.begin()), last(_ReleasedObject.end());
for (; first != last; ++first)
{
- nbReleased += first->second.size();
+ nbReleased += (uint32)first->second.size();
}
nlinfo(" There are %u object instances in cache not referenced (waiting deletion or re-use))", nbReleased);
@@ -2117,7 +2138,7 @@ ERROR : parent/child relation support only 'map' or 'vector' cont specification
return false;
}
- std::auto_ptr<MSW::CStoreResult> result = connection.storeResult();
+ CUniquePtr<MSW::CStoreResult> result(connection.storeResult());
for (uint i=0; i<result->getNumRows(); ++i)
{
@@ -2195,7 +2216,7 @@ ERROR : parent/child relation support only 'map' or 'vector' cont specification
return false;
}
- std::auto_ptr<MSW::CStoreResult> result = connection.storeResult();
+ CUniquePtr<MSW::CStoreResult> result(connection.storeResult());
// check that the data description is consistent with database content
nlassert(result->getNumRows() <= 1);
@@ -2300,9 +2321,9 @@ ERROR : parent/child relation support only 'map' or 'vector' cont specification
}
// no object with this id, return a null pointer
- static Ptr nil;
+ static Ptr nilPtr;
- return nil;
+ return nilPtr;
}
@@ -2321,8 +2342,8 @@ ERROR : parent/child relation support only 'map' or 'vector' cont specification
if (it == _->end())
{
// no object with this id, return a null pointer
- static Ptr nil;
- return nil;
+ static Ptr nilPtr;
+ return nilPtr;
}
return const_cast< Ptr & >(it->second);