@@ -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