Erro "Cannot read property 'width' of null"

9 Respostas   1441 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Ransael

  • *
  • Posts: 41
  • Ouros: 40
Tópico criado em: 16/05/2016 às 13:03 - Última modificação por King Gerar em 16/05/2016 às 23:12

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.

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 1: 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.

Ransael

  • *
  • Posts: 41
  • Ouros: 40
Resposta 2: 16/05/2016 às 13:15 - Última modificação por Ransael em 16/05/2016 às 13:22

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:



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

Lima

Resposta 3: 16/05/2016 às 13:34 - Última modificação por Lima em 16/05/2016 às 13:36

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/

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 4: 16/05/2016 às 13:45

[...]
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.

Ransael

  • *
  • Posts: 41
  • Ouros: 40
Resposta 5: 16/05/2016 às 16:09

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!

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:

Código: [Selecionar]
* @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!

Lima

Resposta 6: 16/05/2016 às 16:13

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

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 7: 16/05/2016 às 16:19

[...]
Código: [Selecionar]
* @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?

Ransael

  • *
  • Posts: 41
  • Ouros: 40
Resposta 8: 16/05/2016 às 22:44

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!

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 9: 16/05/2016 às 23:13

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