summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/cluautil.h
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2010-01-05 01:31:26 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2010-01-05 01:34:27 +0530
commited85466e0202b396bb8d5469d2babd2a24664afc (patch)
treedc8803ffada803a7910d1cea36d96361c916f59d /crawl-ref/source/cluautil.h
parente88370a40d2cad80bf114500d42291f11dcff5fb (diff)
downloadcrawl-ref-ed85466e0202b396bb8d5469d2babd2a24664afc.tar.gz
crawl-ref-ed85466e0202b396bb8d5469d2babd2a24664afc.zip
Fix Shoal:$ generation bugs: stairs could be surrounded by deep water, hut entrances could be blocked by rock.
shoal-hut.lua test generates 1k Shoal:$ levels and verifies that the levels pass sanity tests.
Diffstat (limited to 'crawl-ref/source/cluautil.h')
-rw-r--r--crawl-ref/source/cluautil.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/crawl-ref/source/cluautil.h b/crawl-ref/source/cluautil.h
index 8b3a91937b..60f8f73e14 100644
--- a/crawl-ref/source/cluautil.h
+++ b/crawl-ref/source/cluautil.h
@@ -104,10 +104,14 @@ inline void dlua_push_userdata(lua_State *ls, T udata, const char *meta)
}
template <class T>
-static void dlua_push_object_type(lua_State *ls, const char *meta, const T &data)
+static int dlua_push_object_type(lua_State *ls, const char *meta, const T &data)
{
T **ptr = clua_new_userdata<T*>(ls, meta);
- *ptr = new T(data);
+ if (ptr)
+ *ptr = new T(data);
+ else
+ lua_pushnil(ls);
+ return (1);
}
/*