aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Screen.cc29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 6c9cc60..d96029e 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Screen.cc,v 1.51 2002/05/17 11:02:30 fluxgen Exp $ 25// $Id: Screen.cc,v 1.52 2002/05/17 16:30:24 fluxgen Exp $
26 26
27//use GNU extensions 27//use GNU extensions
28#ifndef _GNU_SOURCE 28#ifndef _GNU_SOURCE
@@ -492,6 +492,32 @@ BScreen::~BScreen(void) {
492 492
493 removeWorkspaceNames(); 493 removeWorkspaceNames();
494 494
495#ifdef __INTEL_COMPILER
496 //Didn't got icc to work with std::for_each
497 //so we do this by hand.
498
499 Workspaces::iterator w_it = workspacesList.begin();
500 Workspaces::iterator w_it_end = workspacesList.end();
501 for(; w_it != w_it_end; ++w_it) {
502 delete (*w_it);
503 }
504 workspacesList.clear();
505
506 Icons::iterator i_it = iconList.begin();
507 Icons::iterator i_it_end = iconList.end();
508 for(; i_it != i_it_end; ++i_it) {
509 delete (*i_it);
510 }
511 iconList.clear();
512
513 Netizens::iterator n_it = netizenList.begin();
514 Netizens::iterator n_it_end = netizenList.end();
515 for(; n_it != n_it_end; ++n_it) {
516 delete (*n_it);
517 }
518 netizenList.clear();
519
520#else //__INTEL_COMPILER
495 std::for_each( 521 std::for_each(
496 workspacesList.begin(), 522 workspacesList.begin(),
497 workspacesList.end(), 523 workspacesList.end(),
@@ -508,6 +534,7 @@ BScreen::~BScreen(void) {
508 netizenList.begin(), 534 netizenList.begin(),
509 netizenList.end(), 535 netizenList.end(),
510 delete_obj<Netizen>); 536 delete_obj<Netizen>);
537#endif //!__INTEL_COMPILER
511 538
512 delete rootmenu; 539 delete rootmenu;
513 delete workspacemenu; 540 delete workspacemenu;