Author: alink
Date: Tue Apr 3 09:44:18 2007
New Revision: 16576
URL: http://svn.gna.org/viewcvs/wesnoth?rev=16576&view=rev
Log:
Fix a false click after some dialogs by using a more up-to-date drag distance
and clean up some redundancies with
the dragging code.
Modified:
trunk/src/mouse_events.cpp
Modified: trunk/src/mouse_events.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/mouse_events.cpp?rev=16576&r1=16575&r2=16576&view=diff
==============================================================================
--- trunk/src/mouse_events.cpp (original)
+++ trunk/src/mouse_events.cpp Tue Apr 3 09:44:18 2007
@@ -927,14 +927,15 @@
if (dragging_started_ && !browse && !commands_disabled) {
left_click(event, browse);
}
+ dragging_started_= false;
} else if(is_middle_click(event) && event.state == SDL_RELEASED) {
minimap_scrolling_ = false;
} else if(is_left_click(event) && event.state == SDL_PRESSED) {
left_click(event, browse);
if (!browse && !commands_disabled) {
dragging_ = true;
- drag_from_x_ = event.x;
- drag_from_y_ = event.y;
+ dragging_started_ = false;
+ SDL_GetMouseState(&drag_from_x_, &drag_from_y_);
}
} else if(is_right_click(event) && event.state == SDL_PRESSED) {
// FIXME: when it's not our turn, movement gets highlighted
@@ -1100,11 +1101,7 @@
}
}
}
- if
(game_events::pump()) {
-
dragging_ = false;
-
dragging_started_ = false;
-
cursor::set_dragging(false);
- }
+
game_events::pump();
return;
}
}
@@ -1127,9 +1124,6 @@
hex != selected_hex_ && !browse &&
enemy->second.side() != u->second.side() &&
current_team().is_enemy(enemy->second.side())) {
- dragging_ = false;
- dragging_started_ = false;
- cursor::set_dragging(false);
attack_enemy(u,enemy);
}
@@ -1138,17 +1132,11 @@
units_.count(selected_hex_) && !enemy_paths_ &&
enemy == units_.end() && !current_route_.steps.empty() &&
current_route_.steps.front() == selected_hex_) {
- dragging_ = false;
- dragging_started_ = false;
- cursor::set_dragging(false);
move_unit_along_current_route(check_shroud);
if(check_shroud && clear_shroud(*gui_, status_, map_,
gameinfo_, units_, teams_, team_num_ - 1)) {
clear_undo_stack();
}
} else {
- dragging_ = false;
- dragging_started_ = false;
- cursor::set_dragging(false);
gui_->unhighlight_reach();
current_paths_ = paths();
@@ -1176,11 +1164,7 @@
paths::route route = get_route(it, go_to,
current_team());
gui_->set_route(&route);
}
- if (game_events::fire("select",hex)) {
- dragging_ = false;
- dragging_started_ = false;
- cursor::set_dragging(false);
- }
+ game_events::fire("select",hex);
}
}
}
@@ -1477,11 +1461,7 @@
SDL_GetMouseState(&mousex, &mousey);
mouse_motion(mousex, mousey, true);
show_attack_options(it);
- if (game_events::fire("select",selected_hex_)) {
- dragging_ = false;
- dragging_started_ = false;
- cursor::set_dragging(false);
- }
+ game_events::fire("select",selected_hex_);
}
}
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits