Skip to content

Crash To Desktop when click on calltip created with LUA or Python Script Plugin #14664

@Khundiann

Description

@Khundiann

Description of the Issue

When creating calltips with "Overload arrows" with either PythonScript or LuaScript plugins, clicking on the down arrow makes Notepad++ crash to desktop. Clicking on the up arrow or general area of the calltip works as it should.

Steps to Reproduce the Issue

  1. Install the PythonScript plugin
  2. run the script below
def showcalltip(args):
	calltip = "\001 Click \002"
	pos = editor.getCurrentPos()
	editor.callTipShow(pos, calltip)

def printclick(args):
    print(args)

console.show()
print("Test script running.")

editor.callback(showcalltip, [SCINTILLANOTIFICATION.CHARADDED])
editor.callback(printclick, [SCINTILLANOTIFICATION.CALLTIPCLICK])
  1. Type any character in a document and the calltip will appear.
  2. Click on the up arrow and the general area of the calltip and the arguments will be shown in console.
  3. When clicking on the down arrow (or using the alt + down shortcut) makes Notepad++ crash to desktop with Exception Code: c0000094 which is a division by zero code. Seems the position key cannot return a value 2 as it fails to get a value. And Exception Code: c000041d a STATUS_FATAL_USER_CALLBACK_EXCEPTION code.

Expected Behavior

When clicking the down arrow I expected to see the arguments in console.

Actual Behavior

Notepad++ crashed to desktop

Debug Information

Notepad++ v8.6   (64-bit)
Build time : Nov 23 2023 - 16:58:44
Path : P:\npp.8.6.portable.x64\notepad++.exe
Command Line : 
Admin mode : OFF
Local Conf mode : ON
Cloud Config : OFF
OS Name : Windows 10 Pro (64-bit)
OS Version : 22H2
OS Build : 19045.3930
Current ANSI codepage : 1252
Plugins : 
    ComparePlus (1.1)
    Explorer (1.9.9)
    GitSCM (1.4.8.2)
    HTMLTag (1.4.1)
    LuaScript (0.12)
    mimeTools (2.9)
    nppAutoDetectIndent (2.3)
    NppConverter (4.5)
    NppEventExec (0.9)
    NppExec (0.8.4)
    NppExport (0.4)
    NppSnippets (1.7.1)
    NppUISpy (1.2)
    NppXmlTreeviewPlugin (2)
    PreviewHTML (1.3.2)
    Python Indent (1.0.0.5)
    PythonScript (2)
    XMLTools (3.1.1.13)
    _CustomizeToolbar (5.3)

Exactly the same happens when using the LuaScript plugin, I'll include a test script for that too.

function showcalltip(ch)
	calltip = "\001 Click \002"
	pos = editor.CurrentPos
	editor:CallTipShow(pos, calltip)
    return false
end

function printclick(flag)
    print(flag)
    return false
end

print("Test script running.")
 
npp.AddEventHandler("OnChar", showcalltip)
npp.AddEventHandler("OnCallTipClick", printclick)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions