From e734b83b61adfe835b1db56b314d95187b295f23 Mon Sep 17 00:00:00 2001 From: Neil Hodgson Date: Sat, 14 Mar 2015 13:20:03 +1100 Subject: Fix calltip display bug on Cocoa. --- cocoa/ScintillaCocoa.mm | 9 +++++++++ doc/ScintillaHistory.html | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index be5ec9445..45637b28a 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -1131,7 +1131,16 @@ void ScintillaCocoa::CallTipMouseDown(NSPoint pt) { CallTipClick(); } +static bool HeightDifferent(WindowID wCallTip, PRectangle rc) { + NSWindow *callTip = (NSWindow *)wCallTip; + CGFloat height = NSHeight([callTip frame]); + return height != rc.Height(); +} + void ScintillaCocoa::CreateCallTipWindow(PRectangle rc) { + if (ct.wCallTip.Created() && HeightDifferent(ct.wCallTip.GetID(), rc)) { + ct.wCallTip.Destroy(); + } if (!ct.wCallTip.Created()) { NSRect ctRect = NSMakeRect(rc.top,rc.bottom, rc.Width(), rc.Height()); NSWindow *callTip = [[NSWindow alloc] initWithContentRect: ctRect diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index bcdc60933..6dd970469 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -494,6 +494,10 @@
  • Verilog folder fixes bug with `end completing an `if* instead of `endif.
  • +
  • + Fix bug on Cocoa where the calltip would display incorrectly when + switching calltips and the new calltip required a taller window. +
  • Release 3.5.4 -- cgit v1.2.3