Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:X0F:branches:multimedia
jstest-gtk-git
jstest-gtk-use-datadir.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File jstest-gtk-use-datadir.patch of Package jstest-gtk-git
From c05a98275b956c6d25181d562083740875f8a9df Mon Sep 17 00:00:00 2001 From: Daniel Bomar <dbdaniel42@gmail.com> Date: Tue, 17 Mar 2015 14:37:56 -0500 Subject: [PATCH] If data not found in default directory, use /usr/share/ instead. --- src/main.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 2d18ac6..15714e0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -216,12 +216,36 @@ std::string find_datadir() { throw std::runtime_error("Error: Couldn't find prefix"); } + struct stat pathExists; + std::string prefix; + + /* Check for the presence of generic.png to ensure we have the correct data folder */ + char* fileCheck = br_strcat(c_prefix, "/data/generic.png"); + if (stat (fileCheck, &pathExists) == 0) + { + prefix = c_prefix; + prefix += "/data/"; + } + + /* If the data was not found in the first location, check a more common + location for system installs. For most people this will be /usr/share/ */ else { - std::string prefix = c_prefix; free(c_prefix); - return prefix + "/data/"; + c_prefix = br_find_data_dir(NULL); + if (!c_prefix) + { + throw std::runtime_error("Error: Couldn't find prefix"); + } + else + { + prefix = c_prefix; + prefix += "/jstest-gtk/data/"; + } } + free (c_prefix); + free (fileCheck); + return prefix; } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor