Skip to content

Commit b8da37d

Browse files
author
Juan Ángel Moreno Fernández
committed
Some bug has been fixed
2013-01-24 Juan A. Moreno <[email protected]> * src/core/system_manager.cpp, src/core/system.cpp, src/utils/utils.cpp: Bug #3600646 has been corrected, thank you Jarred for the patch!! * src/ui/dialog_system_edit.cpp Bug fixed. Now DatFile and BiosFile are not updated if the user select a directory. * src/core/dat_reader_factory.cpp Bug fixed. Now cheks if the path pased is a directory.
1 parent 495deb1 commit b8da37d

9 files changed

+38
-10
lines changed

ChangeLog

+11
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
2013-01-24 Juan A. Moreno <[email protected]>
2+
* src/core/system_manager.cpp, src/core/system.cpp, src/utils/utils.cpp:
3+
Bug #3600646 has been corrected, thank you Jarred for the patch!!
4+
5+
* src/ui/dialog_system_edit.cpp
6+
Bug fixed. Now DatFile and BiosFile are not updated if the user select a
7+
directory.
8+
9+
* src/core/dat_reader_factory.cpp
10+
Bug fixed. Now cheks if the path pased is a directory.
11+
112
2012-05-07 Juan A. Moreno <[email protected]>
213
* src/ui/info_pannel.cpp:
314
Bug #3519711 has been corrected. If "gtk-missing-image" was not located in

src/core/dat_reader_factory.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ CDatReader* CDatReaderFactory::getDatReader(const Glib::ustring& p_file){
3030
int l_fsize;
3131
CDatReader* l_reader = NULL;
3232

33-
// El fichero debe ser válido
34-
if(!p_file.size())
33+
// El fichero debe ser válido y no puede ser un directorio
34+
if(!p_file.size() || Glib::file_test(p_file, Glib::FILE_TEST_IS_DIR))
3535
return NULL;
3636

3737
l_file.open(p_file.data());
@@ -58,20 +58,23 @@ CDatReader* CDatReaderFactory::getDatReader(const Glib::ustring& p_file){
5858

5959
// Buscamos el lector adecuado
6060
// Chequeamos CMPro
61+
GELIDE_DEBUG("Checking ClrMamePro dat format...");
6162
l_reader = new CDatReaderClrMamePro();
6263
if(l_reader->load(l_buffer, l_fsize)){
6364
delete[] l_buffer;
6465
return l_reader;
6566
}
6667
delete l_reader;
6768
// Chequeamos Logiqx xml
69+
GELIDE_DEBUG("Checking Logiqx xml dat format...");
6870
l_reader = new CDatReaderLogiqxXml();
6971
if(l_reader->load(l_buffer, l_fsize)){
7072
delete[] l_buffer;
7173
return l_reader;
7274
}
7375
delete l_reader;
7476
// Chequeamos Mame xml
77+
GELIDE_DEBUG("Checking Mame xml dat format...");
7578
l_reader = new CDatReaderMameXml();
7679
if(l_reader->load(l_buffer, l_fsize)){
7780
delete[] l_buffer;

src/core/system.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
#include <fstream>
2323
#include <algorithm>
24-
#include <glib/gstdio.h>
24+
//#include <glib/gstdio.h>
25+
#include <glib.h>
2526
#include <sstream>
2627
#include "system.hpp"
2728
#include "../utils/tokenizer.hpp"

src/core/system_manager.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
#include <fstream>
2323
#include <stdlib.h>
2424
#include <sstream>
25-
#include <glib/gstdio.h>
25+
//#include <glib/gstdio.h>
26+
#include <glib.h>
2627
#include <gtkmm/image.h>
2728
#include <giomm/file.h>
2829
#include "system_manager.hpp"

src/ui/dialog_gamelist_generator.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ bool CDialogGamelistGenerator::generateGameList(void){
179179
m_label_status.set_label(_("Loading dat file..."));
180180
while (Gtk::Main::events_pending())
181181
Gtk::Main::iteration();
182+
183+
GELIDE_DEBUG("Dat file: " << m_system->getDatFile());
184+
182185
l_dat_reader = CDatReaderFactory::getDatReader(m_system->getDatFile());
183186
if(l_dat_reader){
184187
GELIDE_DEBUG("Dat reader: " << l_dat_reader->getType());
@@ -199,7 +202,7 @@ bool CDialogGamelistGenerator::generateGameList(void){
199202
delete l_dat_reader;
200203
}
201204
else
202-
GELIDE_DEBUG("Unsupported dat file: " << m_system->getDatFile());
205+
GELIDE_DEBUG("Unsupported dat file.");
203206

204207

205208
if(l_preserve){

src/ui/dialog_system_edit.cpp

+9-2
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ int CDialogSystemEdit::run(void){
257257
// Establecemos los campos
258258
m_entry_name.set_text(m_system->getName());
259259
m_description_buf->set_text(m_system->getDescription());
260+
261+
260262
m_button_dat.set_filename(m_system->getDatFile());
261263
m_button_bios.set_filename(m_system->getBiosFile());
262264
m_image_icon.set(m_system->getIcon());
@@ -311,8 +313,13 @@ void CDialogSystemEdit::onAcceptClicked(void){
311313
// Pasamos la configuración al sistema
312314
m_system->setName(m_entry_name.get_text());
313315
m_system->setDescription(m_description_buf->get_text());
314-
m_system->setDatFile(m_button_dat.get_filename());
315-
m_system->setBiosFile(m_button_bios.get_filename());
316+
317+
318+
if(!Glib::file_test(m_button_dat.get_filename(), Glib::FILE_TEST_IS_DIR))
319+
m_system->setDatFile(m_button_dat.get_filename());
320+
if(!Glib::file_test(m_button_bios.get_filename(), Glib::FILE_TEST_IS_DIR))
321+
m_system->setBiosFile(m_button_bios.get_filename());
322+
316323
m_system->setIcon(m_image_icon.get_pixbuf());
317324
m_system->setIconFile(m_icon_file);
318325
m_system->setHomeDir(m_entry_home.get_text());

src/ui/info_pannel.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,9 @@ void CInfoPannel::clear(void){
169169
m_label_emulator_description.set_label("");
170170
}
171171

172+
// CHECKME: Esto es una mala solución. El método no localiza bien los ficheros
172173
void CInfoPannel::updateImages(CSystem* p_system, CGame* p_game){
173-
Glib::ustring l_exts[] = {"png", "jpg", "jpeg", "gif", "xpm", "pnm", "tif", "tiff"};
174+
Glib::ustring l_exts[] = {"png", "PNG", "jpg", "JPG", "jpeg", "JPEG", "gif", "GIF", "xpm", "XPM", "pnm", "tif", "tiff"};
174175
int l_tab, l_ind;
175176
//Gtk::Image* l_image = NULL;
176177
Glib::RefPtr<Gdk::Pixbuf>* l_pixbuf = NULL;

src/utils/process.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include <sys/types.h>
2424
#include <sys/wait.h>
2525
#include <glibmm.h>
26-
26+
#include <unistd.h>
2727

2828
CProcess::CProcess(void): m_proc_id(-1){
2929
}

src/utils/utils.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
#include "utils.hpp"
2222
#include "../gelide.hpp"
2323
#include <ctime>
24-
#include <glib/gfileutils.h>
24+
//#include <glib/gfileutils.h>
25+
#include <glib.h>
2526
//#include <glibmm.h>
2627
//#include <glib/gstdio.h>
2728
//#include <stdlib.h>

0 commit comments

Comments
 (0)