Skip to content

Commit cfbe490

Browse files
committed
fix some bugs with placing zoom window while using stamps or drawing lines
1 parent 29960ad commit cfbe490

1 file changed

Lines changed: 35 additions & 31 deletions

File tree

src/main.cpp

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2675,6 +2675,7 @@ int main(int argc, char *argv[])
26752675
{
26762676
zoom_en = 2;
26772677
sdl_zoom_trig = 0;
2678+
lb = lm = 0;
26782679
}
26792680
}
26802681
//mouse clicks ignored when placing stamps
@@ -2705,11 +2706,11 @@ int main(int argc, char *argv[])
27052706
//mouse clicks ignored when saving stamps
27062707
else if (save_mode == 1)
27072708
{
2708-
if (b==1)
2709+
if (b == 1)
27092710
{
27102711
save_mode = 2;
27112712
}
2712-
else if (b==4)
2713+
else if (!b && bq == 4)
27132714
{
27142715
save_mode = 0;
27152716
copy_mode = 0;
@@ -2718,42 +2719,45 @@ int main(int argc, char *argv[])
27182719
//mouse clicks ignored when saving stamps
27192720
else if (save_mode == 2)
27202721
{
2721-
if (!b)
2722+
if (!b && bq)
27222723
{
2723-
if (save_w < 0)
2724-
{
2725-
save_x = save_x + save_w - 1;
2726-
save_w = abs(save_w) + 2;
2727-
}
2728-
if (save_h < 0)
2724+
if (bq != 4) //mouse could be 4 if strange stuff with zoom window happened
27292725
{
2730-
save_y = save_y + save_h - 1;
2731-
save_h = abs(save_h) + 2;
2732-
}
2733-
if (save_h > 0 && save_w > 0)
2734-
{
2735-
if (copy_mode==1)//CTRL-C, copy
2726+
if (save_w < 0)
27362727
{
2737-
if (clipboard_data)
2738-
free(clipboard_data);
2739-
clipboard_data = build_save(&clipboard_length, save_x, save_y, save_w, save_h, bmap, vx, vy, pv, fvx, fvy, signs, parts);
2740-
if (clipboard_data)
2741-
clipboard_ready = 1;
2728+
save_x = save_x + save_w - 1;
2729+
save_w = abs(save_w) + 2;
27422730
}
2743-
else if (copy_mode==2)//CTRL-X, cut
2731+
if (save_h < 0)
27442732
{
2745-
if (clipboard_data)
2746-
free(clipboard_data);
2747-
clipboard_data = build_save(&clipboard_length, save_x, save_y, save_w, save_h, bmap, vx, vy, pv, fvx, fvy, signs, parts);
2748-
if (clipboard_data)
2749-
{
2750-
clipboard_ready = 1;
2751-
clear_area(save_x, save_y, save_w, save_h);
2752-
}
2733+
save_y = save_y + save_h - 1;
2734+
save_h = abs(save_h) + 2;
27532735
}
2754-
else//normal save
2736+
if (save_h > 0 && save_w > 0)
27552737
{
2756-
stamp_save(save_x, save_y, save_w, save_h);
2738+
if (copy_mode==1)//CTRL-C, copy
2739+
{
2740+
if (clipboard_data)
2741+
free(clipboard_data);
2742+
clipboard_data = build_save(&clipboard_length, save_x, save_y, save_w, save_h, bmap, vx, vy, pv, fvx, fvy, signs, parts);
2743+
if (clipboard_data)
2744+
clipboard_ready = 1;
2745+
}
2746+
else if (copy_mode==2)//CTRL-X, cut
2747+
{
2748+
if (clipboard_data)
2749+
free(clipboard_data);
2750+
clipboard_data = build_save(&clipboard_length, save_x, save_y, save_w, save_h, bmap, vx, vy, pv, fvx, fvy, signs, parts);
2751+
if (clipboard_data)
2752+
{
2753+
clipboard_ready = 1;
2754+
clear_area(save_x, save_y, save_w, save_h);
2755+
}
2756+
}
2757+
else//normal save
2758+
{
2759+
stamp_save(save_x, save_y, save_w, save_h);
2760+
}
27572761
}
27582762
}
27592763
copy_mode = 0;

0 commit comments

Comments
 (0)