Testei no Xubuntu 14.04, os menus estão OK. Inclusive, o Open --> Recent está funcionando de acordo. Esqueci de falar antes, mas no 13.10 aparece uma lista que não tem relação com as últimas ROM's.
O problema está mesmo nesse menu bizarro do Unity. No 14.04 (unity), a aparência dos menus do Load e Save State está igual ao do 13.10. Mas com um agravante:
- Abra um jogo, salve o jogo no primeiro slot (menu Emulation --> Save state --> 1)
- Salve em outro ponto do jogo, no segundo slot (ou outro)
- Tente carregar o 1º state (menu Emulation --> Load state --> 1), você vai notar que o emulador não irá carregar
- Movimente a janela ou alterne para outra janela (Alt + Tab), e volte, você vai notar que o emulador carregou o state que você tentou carregar anteriormente
Bizarro.
Eu tentei desativar o global menu pelo Unity (novo recurso dele), e o menu foi parar na janela. Pensei que ia ficar como antigamente, mas o menu fica junto da barra da janela (do lado dos botões de minimizar e fechar). E o erro continua.
Ao menos não está dando crash ao fechar, e a configuração está mantendo.
Entao, e provavel que o erro esteja no Ubuntu mesmo, no menu global, que nao esta conseguindo lidar com os menus, mais ou menos o que eu sugeri anteriormente como sendo o problema. As aplicaçoes gtk 2.0 antigas as vezes dao problema com o menu global, isso e fato, ja vi varias vezes esse erro no snes9x, no kega e outros emuladores antigos e aplicativos como Firefox e Crome tbm.
Vc como ja deve ter pecebido esta atuando como um desenvolvedor da aplicação, e para isso vc percebeu que e sempre bom ter alguns sistemas prontos(Ubuntu12.04,Ubuntu14.04,Xubuntu), instalados, seja em maquina virtual, seja uma instalação no HD em outra partição para testar como o aplicativo se comporta em interfaces diferentes, com e sem compiz, com e sem menu global, isso e importante tbm.
A melhor coisa quando vc tem esses problemas e testar em outra interface que
nao use o compiz e que
nao use o menu global por padrao(nao sei se o xubuntu usa) para ver se o erro e na aplicação ou no sistema.
Para os companheiros que nao sabem do que esta sendo falado aqui, o menu global e o menu integrado na barra como esse exemplo;
http://1.bp.blogspot.com/-x0NJk6DYGbU/T5kwmr-NWdI/AAAAAAAAIwA/2It-jL3BrJE/s1600/libreoffice-global-menu.pngEm vez de o menu tradicional que vc encontra por exemplo no Mint ou no antigo Ubuntu 10.04.
http://1.bp.blogspot.com/_lh7jyvHkwS4/Sw6kQhEiUSI/AAAAAAAAAmA/jATbTnnTSng/s1600/wasp+theme+ubuntu+10.04.pngOs amigos reparem que o menu fica na janela da aplciaçao em um espaço reservado.
Faz todo sentido Sergio dar esses problemas que vc esta relatando, porque toda vez que vc faz alguma alteração nas preferencias do programa ele tenta salvar imediatamente ou posteriormente quando vc fecha a aplicação no arquivo de controle do programa, geralmente oculto na home.
Como o programa fica confuso com os menus, o maximo que ele vai salvar e o que ja estava sendo reproduzido anteriormente, chegando as vezes ate a travar, crashar mesmo. Por isso que e bom vc testar o pacote em varios Ubuntu's diferentes e com outras interfaces, se por exemplo vc nao conseguir acertar o problema, vc pode tentar acertar para uma versao especifica do Ubuntu, muitos programas acontecem isso, por exemplo, pegue um programa de terceiros do Ubuntu e isntalale no Xubuntu, tem sempre uma chance de ter alguma funcionalidade comprometida, o que e o caso que estamos vendo aqui, entao nesse caso se nao conseguir acertar, vc tera que optar por fazer o pacote para aquela versao especifica do Ubuntu.
Vc pode tentar de duas maneiras,
- Usar uma forma de burlar os menus, fazendo a aplicação
nao usar o menu global, usar o menu da janela com o env UBUNTU_MENUPROXY=.
- Ou reportar no launchpad um bug e esperar a correção
- Ou as duas coisas ; ), fazer o pacote com o atalho env UBUNTU_MENUPROXY= e reportar o bug, nao acho que vai dar problema porque o env UBUNTU_MENUPROXY= e um recurso do proprio sistema, nao vai alterar em nada, e ele so vale apra aquela aplicação, no caso o VBA-M as outras aplciaçoes permanecem padrao, usando o menu global.
Consegui fazer funcionar bem no ubuntu 14.04 (unity):
sudo -H gedit /usr/share/applications/gvbam.desktop
Troquei o:
Exec= gvbam %f
Por:
Exec=env UBUNTU_MENUPROXY= gvbam %f
Ou ainda:
Exec=env UBUNTU_MENUPROXY=0 gvbam %f
Repare que tem um espaço entre o = e gvbam. Esqueci de colocar esse espaço anteriomente, por isso não funcionou.
Tinha que passar esse problema para o upstream (unity), mas não sei por onde começar (tinha que reportar usando um programa gtk2 oficial dos repo, com mesmo problema).
---
E não está perdendo as configurações também. Como é que um problema no menu pode afetar as configurações do emulador?
---
Será que dá problema usar esse argumento em outros desktops? Testei no Xfce, não deu problema.
Se não der problema, daria para modificar o src/gtk/gvbam.desktop.
E isso mesmo vc vai empacotar ele com o atalho ja no menu de inicialização do aplicativo, ou seja, no gvbam.desktop vc vai fazer a alteração, so testa bastante antes de empacotar e enviar para o launchpad para depois nao ter que ficar tendo trabalho extra para arrumar.
Um programa que tem esse defeito dos menus sao varios, snes9x ate pouco tempo atras tinha esse problema e foi acertado, entao se vc puder entra em contato com o desenvolvedor que ele pode te passar mais detalhes.
Tem ate na documentação oficial esse workarround e varios problemas relatados com o menu global;
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationMenu (da uma olhada no final da pagina)
Se vc quiser relatar o bug da uma olhada aqui tbm;
https://bugs.launchpad.net/indicator-appmenuhttps://launchpad.net/~jorgeNo final da pagina tem onde vc pode ancontrar ajuda e relatar o bug.
Converse com o mantenedor do VBA-M e veja se ele esta disposto a acertar o erro, muitas vezes eles esperam que outro programador possa ajudar a resolver os problemas que ele esta tendo e nao consegue, quando entra uma pessoa com pouco menos de conhecimento(noob) e compicado ele ter que explicar tudo(muita coisa vc nao vai entender) para chegar no ponto em que ele esta parado, entao na verdade, eles gostam de pessoas que vao ajudar nas soluçoes e nao ficar fazendo perguntas ehehehe ; ) Entao pode ser isso o mau humor dele ; ) embora eles tbm gostem de pessoas interessadas no que esta sendo desenvolvido, essa e minha opiniao, apenas.
estou terminando de ler tudo e que vc escreveu.