summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorJay Catherwood <jay.catherwood@gmail.com>2010-08-12 23:15:37 -0400
committerJay Catherwood <jay.catherwood@gmail.com>2010-08-12 23:15:37 -0400
commitbfa974281faea4016393b81af454f017c2402faf (patch)
treece28bd6b52887e2637049a0901f53fc8942096b9 /src/window.cpp
parente37b87173812da4af24c480a1adc9f8075a05e98 (diff)
downloadunity-window-decorator-bfa974281faea4016393b81af454f017c2402faf.tar.gz
unity-window-decorator-bfa974281faea4016393b81af454f017c2402faf.tar.bz2
Fix tooltip open animations not firing
Sometimes tooltip open animations do not fire because they are set to viewable early on. This patch runs a map window notification when map is called even if the window is already viewable.
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp66
1 files changed, 33 insertions, 33 deletions
diff --git a/src/window.cpp b/src/window.cpp
index de58f96..61a98c2 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -1276,52 +1276,52 @@ CompWindow::map ()
{
windowNotify (CompWindowNotifyBeforeMap);
- if (isViewable ())
- return;
-
- if (priv->pendingMaps > 0)
- priv->pendingMaps--;
+ if (!isViewable ())
+ {
+ if (priv->pendingMaps > 0)
+ priv->pendingMaps--;
- priv->mapNum = screen->priv->mapNum++;
+ priv->mapNum = screen->priv->mapNum++;
- if (priv->struts)
- screen->updateWorkarea ();
+ if (priv->struts)
+ screen->updateWorkarea ();
- if (windowClass () == InputOnly)
- return;
+ if (windowClass () == InputOnly)
+ return;
- priv->unmapRefCnt = 1;
+ priv->unmapRefCnt = 1;
- priv->attrib.map_state = IsViewable;
+ priv->attrib.map_state = IsViewable;
- if (!overrideRedirect ())
- screen->priv->setWmState (NormalState, priv->id);
+ if (!overrideRedirect ())
+ screen->priv->setWmState (NormalState, priv->id);
- priv->invisible = true;
- priv->alive = true;
+ priv->invisible = true;
+ priv->alive = true;
- priv->lastPong = screen->priv->lastPing;
+ priv->lastPong = screen->priv->lastPing;
- priv->updateRegion ();
- priv->updateSize ();
+ priv->updateRegion ();
+ priv->updateSize ();
- screen->priv->updateClientList ();
+ screen->priv->updateClientList ();
- if (priv->type & CompWindowTypeDesktopMask)
- screen->priv->desktopWindowCount++;
+ if (priv->type & CompWindowTypeDesktopMask)
+ screen->priv->desktopWindowCount++;
- if (priv->protocols & CompWindowProtocolSyncRequestMask)
- {
- sendSyncRequest ();
- sendConfigureNotify ();
- }
+ if (priv->protocols & CompWindowProtocolSyncRequestMask)
+ {
+ sendSyncRequest ();
+ sendConfigureNotify ();
+ }
- if (!overrideRedirect ())
- {
- /* been shaded */
- if (!priv->height)
- resize (priv->attrib.x, priv->attrib.y, priv->attrib.width,
- ++priv->attrib.height - 1, priv->attrib.border_width);
+ if (!overrideRedirect ())
+ {
+ /* been shaded */
+ if (!priv->height)
+ resize (priv->attrib.x, priv->attrib.y, priv->attrib.width,
+ ++priv->attrib.height - 1, priv->attrib.border_width);
+ }
}
windowNotify (CompWindowNotifyMap);