This is an automated email from the git hooks/post-receive script.

odyx pushed a commit to branch debian/master
in repository colobot.

commit c19f97bc24c2c5532db84fd2ba6664fba22f8838
Author: melex750 <melex...@users.noreply.github.com>
Date:   Tue May 24 10:09:44 2016 -0400

    Fix RestoreState to assign IDs to instance vars
---
 src/CBot/CBotStack.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/CBot/CBotStack.cpp b/src/CBot/CBotStack.cpp
index 746976b..3170fb7 100644
--- a/src/CBot/CBotStack.cpp
+++ b/src/CBot/CBotStack.cpp
@@ -805,6 +805,8 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
 
         CBotToken token(name, std::string());
 
+        bool isClass = false;
+
         switch (w)
         {
         case CBotTypInt:
@@ -826,6 +828,7 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
 
         // returns an intrinsic object or element of an array
         case CBotTypIntrinsic:
+            isClass = true;
         case CBotTypArrayBody:
             {
                 CBotTypResult    r;
@@ -843,6 +846,17 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
                     if ( !RestoreState(pf, 
(static_cast<CBotVarClass*>(pNew))->m_pVar)) return false;
                     pNew->SetIdent(id);
 
+                    if (isClass && p == nullptr) // set id for each item in 
this instance
+                    {
+                        CBotVar* pVars = pNew->GetItemList();
+                        long itemId = 1;
+                        while (pVars != nullptr)
+                        {
+                            pVars->m_ident = itemId++;
+                            pVars = pVars->GetNext();
+                        }
+                    }
+
                     if ( p != nullptr )
                     {
                         delete pNew;

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/colobot.git

_______________________________________________
Pkg-games-commits mailing list
Pkg-games-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to