networking.save_texture should return image buffer, not lwip image object

This led to a crash when a cape or skin was not stored on disk.
The function caled skins.save_image and returned that function's lwip image object instead of the expected buffer.
skins.save_image also no longer returns the image object because it's not used anywhere
This commit is contained in:
jomo 2016-02-14 17:04:33 +01:00
parent ab781772c7
commit 0940b50f2c
5 changed files with 9 additions and 10 deletions

View File

@ -72,7 +72,7 @@ exp.info = function(callback) {
// set model type to value of *slim* // set model type to value of *slim*
exp.set_slim = function(rid, userId, slim, callback) { exp.set_slim = function(rid, userId, slim, callback) {
logging.debug(rid, "setting slim for ", userId, "to " + slim); logging.debug(rid, "setting slim for", userId, "to " + slim);
// store userId in lower case if not null // store userId in lower case if not null
userId = userId && userId.toLowerCase(); userId = userId && userId.toLowerCase();

View File

@ -49,7 +49,7 @@ function store_skin(rid, userId, profile, cache_details, callback) {
if (err1 || !img) { if (err1 || !img) {
callback(err1, null, slim); callback(err1, null, slim);
} else { } else {
skins.save_image(img, skinpath, function(skin_err, skin_img) { skins.save_image(img, skinpath, function(skin_err) {
if (skin_err) { if (skin_err) {
callback(skin_err, null, slim); callback(skin_err, null, slim);
} else { } else {
@ -102,7 +102,7 @@ function store_cape(rid, userId, profile, cache_details, callback) {
if (net_err || !img) { if (net_err || !img) {
callback(net_err, null); callback(net_err, null);
} else { } else {
skins.save_image(img, capepath, function(skin_err, skin_img) { skins.save_image(img, capepath, function(skin_err) {
logging.debug(rid, "cape saved"); logging.debug(rid, "cape saved");
callback(skin_err, cape_hash); callback(skin_err, cape_hash);
}); });

View File

@ -187,8 +187,8 @@ exp.save_texture = function(rid, tex_hash, outpath, callback) {
if (err) { if (err) {
callback(err, response, null); callback(err, response, null);
} else { } else {
skins.save_image(img, outpath, function(img_err, saved_img) { skins.save_image(img, outpath, function(img_err) {
callback(img_err, response, saved_img); callback(img_err, response, img);
}); });
} }
}); });

View File

@ -1,4 +1,3 @@
var logging = require("../logging");
var helpers = require("../helpers"); var helpers = require("../helpers");
var skins = require("../skins"); var skins = require("../skins");
var cache = require("../cache"); var cache = require("../cache");

View File

@ -164,17 +164,17 @@ exp.open_skin = function(rid, skinpath, callback) {
// write the image +buffer+ to the +outpath+ file // write the image +buffer+ to the +outpath+ file
// the image is stripped down by lwip. // the image is stripped down by lwip.
// callback: error, image // callback: error
exp.save_image = function(buffer, outpath, callback) { exp.save_image = function(buffer, outpath, callback) {
lwip.open(buffer, "png", function(err, image) { lwip.open(buffer, "png", function(err, image) {
if (err) { if (err) {
callback(err, image); callback(err);
} else { } else {
image.writeFile(outpath, function(write_err) { image.writeFile(outpath, function(write_err) {
if (write_err) { if (write_err) {
callback(write_err, image); callback(write_err);
} else { } else {
callback(null, image); callback(null);
} }
}); });
} }