O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Erro "Cannot read property 'width' of null"

Iniciado por Ransael, 16/05/2016 às 13:03

16/05/2016 às 13:03 Última edição: 16/05/2016 às 23:12 por King Gerar
Procurei por um tópico relatando o mesmo erro, mas não achei. Então, caso isso já tenha sido discutido, peço desculpas por duplicar o assunto. Mas indo direto ao ponto:

Comecei um projeto no Rpg Maker MV e, após uma série de testes, constatei que de vez em quando ele dá um crash com a seguinte mensagem: Uncaught TypeError: Cannot read property 'width' of null. Não acontece sempre. Vem meio que aleatoriamente. E também não sei ao certo, mas parece que é algo ligado à exibição de imagens. Pelo menos aqui, só acontece quando trabalho com elas. Pensei na possibilidade de ser algum plugin, mas descartei a ideia, já que o erro persistiu num projeto limpo que fiz para testes.

Não sei como fazer para resolver, se é que há uma solução. Alguém mais está com o mesmo problema? Alguém conhece alguma forma de corrigir isso?

Obrigado.

Está sendo requisitada a largura de um objeto, porém esse objeto ainda não foi criado. Pode ser a largura de uma
imagem como tu suspeita.
Tem que ver no console em que erro de que plugin isso ocorre e vê a largura do quê que tá causando isso.

16/05/2016 às 13:15 #2 Última edição: 16/05/2016 às 13:22 por Ransael
Citação de: King Gerar online 16/05/2016 às 13:12
Está sendo requisitada a largura de um objeto, porém esse objeto ainda não foi criado. Pode ser a largura de uma
imagem como tu suspeita.
Tem que ver no console em que erro de que plugin isso ocorre e vê a largura do quê que tá causando isso.


Parece que é no RPG_Core, padrão da própria engine. Estou tentando causar o erro novamente para tirar uma print e pegar o caminho certinho. Quando tiver, posto aqui.

Obrigado por responder!

---------EDIT--------------------------------

Essa é a print:

[hs width=320 height=240]http://i.imgur.com/6VXntgK.png[/hs]

Esse é o log de erros no console:

rpg_managers.js:1588 Uncaught TypeError: Cannot read property 'width' of null
rpg_managers.js:1589 file:///C:/Users/ADMIN-DELL/Documents/Projetos%20RPG%20Maker%20MV/Ellon/js/rpg_core.js 3386
rpg_core.js:3386
Uncaught TypeError: Cannot read property 'width' of null

16/05/2016 às 13:34 #3 Última edição: 16/05/2016 às 13:36 por Lima
Quando você insere uma imagem antes e depois coloque para esperar 1 seg, a ver se resolve!

Edit:
Experimente fazer um update de todos os plguins!

http://yanfly.moe/2015/10/30/plugin-updates-round-8/

Citação de: Ransael online 16/05/2016 às 13:15
[...]
Esse é o log de erros no console:

rpg_managers.js:1588 Uncaught TypeError: Cannot read property 'width' of null
rpg_managers.js:1589 file:///C:/Users/ADMIN-DELL/Documents/Projetos%20RPG%20Maker%20MV/Ellon/js/rpg_core.js 3386
rpg_core.js:3386
Uncaught TypeError: Cannot read property 'width' of null
E o que tem na linha 3386 do seu rpg_core? No meu não vejo nada suspeito, mas como eu editei ele, pode ser
que não esteja como o teu.
Faz o que o Lima aconselhou. Se estiver usando outros plugins, desativa um por um pra ver se é incompatibilidade
com algum.

Citação de: Lima online 16/05/2016 às 13:34
Quando você insere uma imagem antes e depois coloque para esperar 1 seg, a ver se resolve!

Edit:
Experimente fazer um update de todos os plguins!

http://yanfly.moe/2015/10/30/plugin-updates-round-8/

Elas já estão com esse wait de 1 segundo, e mesmo assim o erro permanece. Não acredito que o problema seja plugin porque já testei num projeto limpo e o erro também acontece. =/ Não sei o que fazer. Mas obrigado mesmo assim!

Citação de: King Gerar online 16/05/2016 às 13:45
E o que tem na linha 3386 do seu rpg_core? No meu não vejo nada suspeito, mas como eu editei ele, pode ser
que não esteja como o teu.
Faz o que o Lima aconselhou. Se estiver usando outros plugins, desativa um por um pra ver se é incompatibilidade
com algum.


Se não me engano, é isso na linha 3386:

* @method _onBitmapLoad
 * @private
 */
Sprite.prototype._onBitmapLoad = function() {
    if (this._frame.width === 0 && this._frame.height === 0) {
        this._frame.width = this._bitmap.width;
        this._frame.height = this._bitmap.height;
    }
    this._refresh();
};


Estou usando outros plugins, mas acredito que não seja esse o problema, porque o erro aconteceu também em um projeto novo. Então realmente não sei.  :rick9:

Obrigado novamente!

Já experimentou atualizar os plugins? Eu lembro-me de ter esse erro, mas era no browser pensava que era problema ao carregar as imagens!

Citação de: Ransael online 16/05/2016 às 16:09
[...]
* @method _onBitmapLoad
 * @private
 */
Sprite.prototype._onBitmapLoad = function() {
    if (this._frame.width === 0 && this._frame.height === 0) {
        this._frame.width = this._bitmap.width;
        this._frame.height = this._bitmap.height;
    }
    this._refresh();
};


Estou usando outros plugins, mas acredito que não seja esse o problema, porque o erro aconteceu também em um projeto novo. Então realmente não sei.  :rick9:

Obrigado novamente!
Bom, essa função aí está como no meu, porém, no meu está dez linhas depois. Os plugins tão atualizados
pra última versão?

Errr... Então... Minha versão do Rpg Maker era a 1.0. :lol: Atualizei para a 1.2 (que acredito ser a mais atual) e aparentemente o erro sumiu. Ainda não estou 100% convencido. Preciso de mais alguns testes para ter certeza, mas provavelmente era isso mesmo.

Obrigado mesmo pela ajuda, pessoal. Quando meu projeto for lançado, podem ter certeza que farei menções a vocês nele. Não que seja algo grandioso, mas... o que vale é a intenção. rs

OBS: se quiserem, podem fechar o tópico.

Até mais!

Se o erro reincidir e quiser reabrir o tópico, é só enviar uma MP. Espero que não precise xD