all repos — fluxbox @ 9cd953b2e11d0909375b9bd9cf4b9045b7c27729

custom fork of the fluxbox windowmanager

compile fix: ISO C++ forbids variable length array 'names'
Mathias Gumz akira at fluxbox dot org
commit

9cd953b2e11d0909375b9bd9cf4b9045b7c27729

parent

f8c61a1ba2cc5fc08690b89440cb2f0380f068df

2 files changed, 10 insertions(+), 6 deletions(-)

jump to
M src/Ewmh.ccsrc/Ewmh.cc

@@ -822,7 +822,7 @@ XTextProperty text;

const BScreen::WorkspaceNames &workspacenames = screen.getWorkspaceNames(); const size_t number_of_desks = workspacenames.size(); - char *names[number_of_desks]; + char** names = new char*[number_of_desks]; for (size_t i = 0; i < number_of_desks; i++) { names[i] = new char[workspacenames[i].size() + 1]; // +1 for \0

@@ -844,13 +844,15 @@

#else if (XStringListToTextProperty(names, number_of_desks, &text)) { XSetTextProperty(FbTk::App::instance()->display(), screen.rootWindow().window(), - &text, m_net->desktop_names); + &text, m_net->desktop_names); XFree(text.value); } #endif for (size_t i = 0; i < number_of_desks; i++) - delete [] names[i]; + delete[] names[i]; + + delete[] names; }
M src/Gnome.ccsrc/Gnome.cc

@@ -228,7 +228,7 @@

size_t number_of_desks = screen.getWorkspaceNames().size(); const BScreen::WorkspaceNames &workspace_names = screen.getWorkspaceNames(); // convert our desktop names to a char * so we can send it - char *names[number_of_desks]; + char** names = new char*[number_of_desks]; for (size_t i = 0; i < number_of_desks; i++) { names[i] = new char[workspace_names[i].size() + 1];

@@ -238,13 +238,15 @@

XTextProperty text; if (XStringListToTextProperty(names, number_of_desks, &text)) { XSetTextProperty(FbTk::App::instance()->display(), screen.rootWindow().window(), - &text, m_gnome_wm_win_workspace_names); + &text, m_gnome_wm_win_workspace_names); XFree(text.value); } // destroy name buffers for (size_t i = 0; i < number_of_desks; i++) - delete [] names[i]; + delete[] names[i]; + + delete[] names; } void Gnome::updateCurrentWorkspace(BScreen &screen) {