tooltips position more accurately in X in xinerama

elm_win_screen_size_get() is broken for this use case since the tooltip actually needs the full xinerama screen geometry, which is the geometry of the root window and NOT the current screen

@fix
This commit is contained in:
zmike 2014-04-22 09:29:49 -04:00
parent b7cb75ccb3
commit df0803a28c
1 changed files with 10 additions and 1 deletions

View File

@ -393,7 +393,16 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt)
TTDBG("TTSIZE: tw=%d,th=%d,ominw=%d,ominh=%d\n", tw, th, ominw, ominh);
if (tt->tt_win)
elm_win_screen_size_get(elm_widget_top_get(tt->owner), NULL, NULL, &cw, &ch);
{
#ifdef HAVE_ELEMENTARY_X
Evas_Object *win = elm_widget_top_get(tt->owner);
Ecore_X_Window xwin = elm_win_xwindow_get(win);
if (xwin)
ecore_x_window_size_get(ecore_x_window_root_get(xwin), &cw, &ch);
#endif
if (!cw)
elm_win_screen_size_get(elm_widget_top_get(tt->owner), NULL, NULL, &cw, &ch);
}
if (!cw)
evas_output_size_get(tt->tt_evas ?: tt->evas, &cw, &ch);
TTDBG("SCREEN: cw=%d,ch=%d\n", cw, ch);