aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/Menu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbTk/Menu.cc')
-rw-r--r--src/FbTk/Menu.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc
index a82f441..b79f1b6 100644
--- a/src/FbTk/Menu.cc
+++ b/src/FbTk/Menu.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: Menu.cc,v 1.82 2004/09/11 13:45:16 fluxgen Exp $ 25// $Id: Menu.cc,v 1.83 2004/09/11 15:52:23 rathnor Exp $
26 26
27//use GNU extensions 27//use GNU extensions
28#ifndef _GNU_SOURCE 28#ifndef _GNU_SOURCE
@@ -567,6 +567,8 @@ void Menu::update(int active_index) {
567 m_real_frame_pm = FbTk::FbPixmap(menu.frame.window(), 567 m_real_frame_pm = FbTk::FbPixmap(menu.frame.window(),
568 menu.frame.width(), menu.frame.height(), 568 menu.frame.width(), menu.frame.height(),
569 menu.frame.depth()); 569 menu.frame.depth());
570 if (m_transp.get() != 0)
571 m_transp->setDest(m_real_frame_pm.drawable(), screenNumber());
570 572
571 menu.frame.setBackgroundPixmap(m_real_frame_pm.drawable()); 573 menu.frame.setBackgroundPixmap(m_real_frame_pm.drawable());
572 GContext def_gc(menu.frame); 574 GContext def_gc(menu.frame);
@@ -1385,7 +1387,6 @@ void Menu::keyPressEvent(XKeyEvent &event) {
1385 1387
1386void Menu::reconfigure() { 1388void Menu::reconfigure() {
1387 1389
1388
1389 if (alpha() == 255 && m_transp.get() != 0) { 1390 if (alpha() == 255 && m_transp.get() != 0) {
1390 m_transp.reset(0); 1391 m_transp.reset(0);
1391 } else if (alpha () < 255) { 1392 } else if (alpha () < 255) {
@@ -1394,8 +1395,13 @@ void Menu::reconfigure() {
1394 m_transp.reset(new Transparent(FbPixmap::getRootPixmap(screenNumber()), 1395 m_transp.reset(new Transparent(FbPixmap::getRootPixmap(screenNumber()),
1395 m_real_frame_pm.drawable(), alpha(), 1396 m_real_frame_pm.drawable(), alpha(),
1396 screenNumber())); 1397 screenNumber()));
1397 } else 1398 } else {
1399 Pixmap root = FbPixmap::getRootPixmap(screenNumber());
1400 if (m_transp->source() != root)
1401 m_transp->setSource(root, screenNumber());
1402
1398 m_transp->setAlpha(alpha()); 1403 m_transp->setAlpha(alpha());
1404 }
1399 } 1405 }
1400 1406
1401 m_need_update = true; // redraw items 1407 m_need_update = true; // redraw items