Release v0.6.4: preserve connector links when dragging numbered markers

This commit is contained in:
2026-10-29 15:14:44 +02:00
parent d28e28c03c
commit b8bb14a985
7 changed files with 51 additions and 15 deletions
+9
View File
@@ -575,6 +575,15 @@ std::pair<int,MarkPart> markAt(Capture &c, POINT p)
{
if((c.arrow || c.highlight || c.freehand || c.textTool) && (GetKeyState(VK_CONTROL)&0x8000)) return {-1,MarkPart::None};
double tolerance=double(std::max(6,c.unit/6))*c.image->width/std::max(1L,c.view.right-c.view.left);
// Badges are painted above connectors. Their visible bodies must also win
// hit testing, even when an attached connector is currently selected.
for(int i=int(c.marks.size())-1;i>=0;--i) {
const auto &m=c.marks[i];
if(m.number && std::hypot(double(p.x-m.from.x),double(p.y-m.from.y))<=m.radius) {
auto part=hitScreenshotMark(m,p,tolerance);
return {i,part};
}
}
if(c.selected>=0)
{
const auto &m=c.marks[c.selected];