* Convert `iCj` call to the API
* Convert `icj` call to the API
* Convert `iij` call to the API
* Convert `iej` call to the API
* Convert `CClj` call to the API
* Convert `iEj` call to the API
* Convert 'ihj' call to the API
* Convert 'iSSj' call to the API
* Download and install sigdb option and disable swift demangler when libswift is installed
* Remove dir.prefix and use rz_core_analysis_sigdb_list for sigdb
* Use a different color for flirts
* Updated to rizin dev
* Use rz_path_set_prefix to set the prefix path on OSX bundle
This fixes the dialog being placed weirdly when using the 'Y' shortcut
because it was parented to the DisassemblyContextMenu, which itself
might not be shown at all.
This improves how the installed CutterConfig.cmake can be used for
native plugin development:
* Transitive dependencies are resolved automatically
* Version file is included
* Cutter_USER_PLUGINDIR is set to a path that plugins can use as a
default install destination
src/plugins/sample-cpp/CMakeLists.txt is an example for how to use it.
Rizin was also updated to prevent an error with multiple
`find_package()` calls.
This also avoids annoying "ERROR: No function found in ..." beging
printed by afvj when right-clicking anywhere outside a function.
The heuristics in functionIn() also have been adjusted to prefer the
function that has its entrypoint at the given addr, if there is any.
With KF5.92 headers KSyntaxHighlighting/{header}.h copied to KSyntaxHighlighting/ksyntaxhighlighting/{header}.h. Headers KSyntaxHighlighting/{Header} now include ksyntaxhighlighting/{header}.h instead of {header}.h. Than on some distros like ArchLinux headers KSyntaxHighlighting/{header}.h removed, because it copies of KSyntaxHighlighting/ksyntaxhighlighting/{header}.h and because KSyntaxHighlighting/{Header} now include ksyntaxhighlighting/{header}.h.
This also introduces a slight behavioral change: Previously, only the
core file with the "raised" io desc was checked, which is RzIO.desc. But
that member is deprecated for good reasons, so now we just check if
there is any core file whose primary fd has write enabled.
The views showing this info have been removed in the past, so it was
unused. This also fixes some errors with latest rizin where
zero-argument f does not exist anymore (it's now fl).
API usage has been adjusted.
There are now also cmake config files directly installed by Rizin itself, so we don't need to keep a custom FindRizin.cmake file in Cutter. This remove that file and just uses `find_package(Rizin COMPONENTS Core)`, which will use the cmake files installed on the system.
* Small enhancements in SdbWidget class.
Destructors of child classes should be marked with the `override` keyword. Also since Qt's
widgets aren't movable or copyable, we can explicitly let the compiler know with the `Q_DISABLE_COPY_MOVE`
macro.
* Define Q_DISABLE_COPY_MOVE macro for versions < 5.13.0 in SdbWidget
* Added bins dialog box
* Bins dialog box working
* Add size column
* Add newline
* Make code more readable
* Make headers better
* Add tooltip for bins widget
* Added easy access to detailed chunk info from bins dialog
* Experimenting with CutterGraphView
* Added Basic Graph View for bins using `simpleTextgraphView`
* Added Bins button
* Bug fix
* Add bin message to the last chunk in the list
* Add addresses and addressablecontextmenu to graphs
* Add support multi line graph blocks
* Fix indent
* Dont clear dialog box
* Add `detailed chunk info` in Graphs context menu
* Minor changes
* Update Rizin
* fix excessive graph padding for some fonts
* refactor code to make the position calculations more maintainable
* reduce graph view padding from 2 to 1 character widths in monospace
fonts
Qt doesn't have native language name for some of them. Trying to
capitalize it caused crash.
Use `QLocale(QString)` constructor instead of manually looping and
comparing. The old code incorrectly matched "tr" as "trv".
Don't try to capitalize language name:
* In many cases Qt already returns it capitalized
* capitalization doesn't make sense for some scripts
* in general case splitting first "character" is a hard problem
* in some languages even with latin based scripts name of language isn't
a proper noun which needs to be capitalized
* Some of the API replaced int with QKeyCombination, use typedef in
cutter code
* Use of + operator depracted, replace with recommended "|" operator
* QMouseEvent globalPos and localPos renamed to globalPosition and
position, replace with helper function or use of integer position which
wasn't renamed.
* Crash caused by list varibles getting initialized after the models
using them. Previously Qt didn't try to access them so early. Move them
to the models as there is no need to share them betwen view and models.
* Fix empty color list by using begin/endResetModel instead of
dataChanged to signal changes in data.
* Add initial reverse debugging support
* Add reverse debug icons
* Added an option to stop the debug session and enabled continue and step back
* Added a new icon for stop trace and recolored start trace
* Toggle reverse debug actions when not tracing
* Stop existing trace sessions in stopDebug
* Ported to Rizin
* Set reverse icons to invisible when not in a trace session instead of disabled
* Updated rizin submodule
* Cleaned up step and continue events
* Apply clang format
* Enable running of macOS packaging in GHA, most of the work done in dedbabde56
* Cleanup breakpad handling
* Have single version of main executable in folder expected by macOS and most tools instead of executable+symlink+shell script
* Handle Breakpad library lookup in more CMake way using FindBreakpad just like it's done on other platforms and packages
* Refactor error handling in some of the shell scripts to use `set -e` instead of `|| exit 1` for each command.
* Fix DMG background setup