Browse Source

Temporary fix to Ubuntu menu bug.

merge-requests/365/head
eidheim 10 years ago
parent
commit
62cbe91e19
  1. 18
      src/menu.cc

18
src/menu.cc

@ -10,9 +10,21 @@ Menu::Menu() {
//TODO: if Ubuntu ever gets fixed, move to constructor, also cleanup the rest of the Ubuntu specific code
void Menu::init() {
bool ubuntu_bugged_menu_system=false; //TODO: move to CMakeLists.txt and set -DUBUNTU_BUGGED_MENU
#ifdef __linux
if(boost::filesystem::exists("/usr/bin/lsb_release")) {
std::stringstream stdin_stream, stdout_stream;
Singleton::terminal()->execute(stdin_stream, stdout_stream, "lsb_release -is");
if(stdout_stream.str()=="Ubuntu\n")
ubuntu_bugged_menu_system=true;
}
#else
ubuntu_bugged_menu_system=false;
#endif
auto accels=Singleton::Config::menu()->keys;
for(auto &accel: accels) {
#ifdef __linux //Ubuntu...
if(ubuntu_bugged_menu_system) {
size_t pos=0;
std::string second=accel.second;
while((pos=second.find('<', pos))!=std::string::npos) {
@ -28,9 +40,9 @@ void Menu::init() {
accel.second="<attribute name='accel'>"+second+"</attribute>";
else
accel.second="";
#else
}
else
accel.second="";
#endif
}
ui_xml =

Loading…
Cancel
Save