From d7a5f3f04aa6184f674482ea0611be2ac8b2dcee Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 20 Dec 2012 16:00:04 +0000 Subject: Mac OS text input: corrected minor issue when text widget is in a subwindow (cont'd). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9772 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_cocoa.mm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index a964f10a8..293dd80c6 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -2004,9 +2004,9 @@ static void q_set_window_title(NSWindow *nsw, const char * name, const char *mi if (!focus) focus = wfocus; glyphRect.size.width = 0; - if (dynamic_cast(focus) != NULL) { + Fl_Text_Display *current = dynamic_cast(focus); + if (current) { int x, y; - Fl_Text_Display *current = (Fl_Text_Display*)focus; current->position_to_xy( current->insert_position(), &x, &y ); glyphRect.origin.x = (CGFloat)x; glyphRect.origin.y = (CGFloat)y + current->textsize(); @@ -2022,8 +2022,10 @@ static void q_set_window_title(NSWindow *nsw, const char * name, const char *mi } glyphRect.size.height = 12; } - Fl_Window *win = focus->window(); + Fl_Window *win = focus->as_window(); + if (!win) win = focus->window(); while (win != NULL && win != wfocus) { + glyphRect.origin.x += win->x(); glyphRect.origin.y += win->y(); win = win->window(); } -- cgit v1.2.3