summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/FbTk/Shape.cc7
-rw-r--r--src/Screen.cc3
2 files changed, 7 insertions, 3 deletions
diff --git a/src/FbTk/Shape.cc b/src/FbTk/Shape.cc
index 6cc46f8..7c14832 100644
--- a/src/FbTk/Shape.cc
+++ b/src/FbTk/Shape.cc
@@ -56,9 +56,9 @@ Pixmap makePixmap(FbWindow &drawable, const unsigned char rows[]) {
56 Display *disp = App::instance()->display(); 56 Display *disp = App::instance()->display();
57 57
58 const size_t data_size = 8 * 8; 58 const size_t data_size = 8 * 8;
59 // we use calloc here so we get consistent C alloc/free with XDestroyImage 59 // we use malloc here so we get consistent C alloc/free with XDestroyImage
60 // and no warnings in valgrind :) 60 // and no warnings in valgrind :)
61 char *data = (char *)calloc(data_size, sizeof (char)); 61 char *data = (char *)malloc(data_size * sizeof (char));
62 if (data == 0) 62 if (data == 0)
63 return 0; 63 return 0;
64 64
@@ -141,6 +141,9 @@ Shape::~Shape() {
141} 141}
142 142
143void Shape::initCorners(int screen_num) { 143void Shape::initCorners(int screen_num) {
144 if (!m_win->window())
145 return;
146
144 if (s_corners.size() == 0) 147 if (s_corners.size() == 0)
145 s_corners.resize(ScreenCount(App::instance()->display())); 148 s_corners.resize(ScreenCount(App::instance()->display()));
146 149
diff --git a/src/Screen.cc b/src/Screen.cc
index cde62cc..8b81529 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -1557,7 +1557,8 @@ void BScreen::removeConfigMenu(FbTk::Menu &menu) {
1557 if (erase_it != m_configmenu_list.end()) 1557 if (erase_it != m_configmenu_list.end())
1558 m_configmenu_list.erase(erase_it); 1558 m_configmenu_list.erase(erase_it);
1559 1559
1560 setupConfigmenu(*m_configmenu.get()); 1560 if (!isShuttingdown())
1561 setupConfigmenu(*m_configmenu.get());
1561 1562
1562} 1563}
1563 1564