*fix* issue 217
git-svn-id: http://tint2.googlecode.com/svn/trunk@391 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
parent
6155ce0f0c
commit
cb5eea1bd3
2 changed files with 7 additions and 3 deletions
|
@ -522,9 +522,13 @@ void systray_render_icon_now(void* t)
|
|||
Pixmap tmp_pmap = XCreatePixmap(server.dsp, server.root_win, traywin->width, traywin->height, server.depth);
|
||||
XRenderPictFormat* f;
|
||||
if (traywin->depth == 24)
|
||||
f = XRenderFindVisualFormat(server.dsp, DefaultVisual(server.dsp, 0));
|
||||
else
|
||||
f = XRenderFindStandardFormat(server.dsp, PictStandardRGB24);
|
||||
else if (traywin->depth == 32)
|
||||
f = XRenderFindStandardFormat(server.dsp, PictStandardARGB32);
|
||||
else {
|
||||
printf("Strange tray icon found...\n");
|
||||
return;
|
||||
}
|
||||
Picture pict_image = XRenderCreatePicture(server.dsp, traywin->tray_id, f, 0, 0);
|
||||
Picture pict_drawable = XRenderCreatePicture(server.dsp, tmp_pmap, XRenderFindVisualFormat(server.dsp, server.visual), 0, 0);
|
||||
XRenderComposite(server.dsp, PictOpSrc, pict_image, None, pict_drawable, 0, 0, 0, 0, 0, 0, traywin->width, traywin->height);
|
||||
|
|
|
@ -694,7 +694,7 @@ int main (int argc, char *argv[])
|
|||
XFlush (server.dsp);
|
||||
|
||||
panel = (Panel*)systray.area.panel;
|
||||
if (refresh_systray && !panel->is_hidden) {
|
||||
if (refresh_systray && panel && !panel->is_hidden) {
|
||||
refresh_systray = 0;
|
||||
// tint2 doen't draw systray icons. it just redraw background.
|
||||
XSetWindowBackgroundPixmap (server.dsp, panel->main_win, panel->temp_pmap);
|
||||
|
|
Loading…
Reference in a new issue