File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -1313,10 +1313,18 @@ static void u_userdata(Info *info) { /* ... */
13131313 uint8_t utag = READ_VALUE (uint8_t );
13141314 switch (utag) {
13151315 case UTAG_PROXY:
1316- case UTAG_QUATERNION:
13171316 {
13181317 size_t size = READ_VALUE (ares_size_t );
13191318 void * value = lua_newuserdatatagged (info->L , size, utag);
1319+ /* ... udata */
1320+ READ_RAW (value, size);
1321+ registerobject (info);
1322+ break ;
1323+ }
1324+ case UTAG_QUATERNION:
1325+ {
1326+ size_t size = READ_VALUE (ares_size_t );
1327+ void * value = lua_newuserdatataggedwithmetatable (info->L , size, utag);
13201328 /* ... udata */
13211329 READ_RAW (value, size);
13221330 registerobject (info);
Original file line number Diff line number Diff line change @@ -74,13 +74,11 @@ static int lsl_quaternion_ctor(lua_State *L)
7474 const auto y = luaL_checknumber (L, 2 );
7575 const auto z = luaL_checknumber (L, 3 );
7676 const auto s = luaL_checknumber (L, 4 );
77- auto *quat = (float *)lua_newuserdatatagged (L, sizeof (float ) * 4 , UTAG_QUATERNION);
77+ auto *quat = (float *)lua_newuserdatataggedwithmetatable (L, sizeof (float ) * 4 , UTAG_QUATERNION);
7878 quat[0 ] = (float )x;
7979 quat[1 ] = (float )y;
8080 quat[2 ] = (float )z;
8181 quat[3 ] = (float )s;
82- lua_getuserdatametatable (L, UTAG_QUATERNION);
83- lua_setmetatable (L, -2 );
8482 return 1 ;
8583}
8684
You can’t perform that action at this time.
0 commit comments