projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove unnecessary height changed notification for streamviews, now that the summary...
[ardour.git]
/
gtk2_ardour
/
editor_canvas_events.cc
diff --git
a/gtk2_ardour/editor_canvas_events.cc
b/gtk2_ardour/editor_canvas_events.cc
index f7fd030a01715cb5613c8bd5df820a422edc54cd..bf84eb20e9c4ee58c9c6e3da3cf13e451aae01ce 100644
(file)
--- a/
gtk2_ardour/editor_canvas_events.cc
+++ b/
gtk2_ardour/editor_canvas_events.cc
@@
-44,7
+44,6
@@
#include "control_point.h"
#include "canvas_impl.h"
#include "simplerect.h"
#include "control_point.h"
#include "canvas_impl.h"
#include "simplerect.h"
-#include "interactive-item.h"
#include "editor_drag.h"
#include "midi_time_axis.h"
#include "editor_regions.h"
#include "editor_drag.h"
#include "midi_time_axis.h"
#include "editor_regions.h"
@@
-62,17
+61,9
@@
using Gtkmm2ext::Keyboard;
bool
Editor::track_canvas_scroll (GdkEventScroll* ev)
{
bool
Editor::track_canvas_scroll (GdkEventScroll* ev)
{
- int x, y;
- double wx, wy;
nframes64_t xdelta;
int direction = ev->direction;
nframes64_t xdelta;
int direction = ev->direction;
- Gnome::Canvas::Item* item = track_canvas->get_item_at(ev->x, ev->y);
- InteractiveItem* interactive_item = dynamic_cast<InteractiveItem*>(item);
- if (interactive_item) {
- return interactive_item->on_event(reinterpret_cast<GdkEvent*>(ev));
- }
-
retry:
switch (direction) {
case GDK_SCROLL_UP:
retry:
switch (direction) {
case GDK_SCROLL_UP:
@@
-155,8
+146,7
@@
bool
Editor::track_canvas_scroll_event (GdkEventScroll *event)
{
track_canvas->grab_focus();
Editor::track_canvas_scroll_event (GdkEventScroll *event)
{
track_canvas->grab_focus();
- track_canvas_scroll (event);
- return false;
+ return track_canvas_scroll (event);
}
bool
}
bool
@@
-778,6
+768,14
@@
Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, Re
perspective. XXX change this ??
*/
perspective. XXX change this ??
*/
+ ItemType type;
+
+ if (item->get_data ("isleft")) {
+ type = LeftFrameHandle;
+ } else {
+ type = RightFrameHandle;
+ }
+
switch (event->type) {
case GDK_BUTTON_PRESS:
case GDK_2BUTTON_PRESS:
switch (event->type) {
case GDK_BUTTON_PRESS:
case GDK_2BUTTON_PRESS:
@@
-786,20
+784,20
@@
Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, Re
clicked_control_point = 0;
clicked_axisview = &clicked_regionview->get_time_axis_view();
clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
clicked_control_point = 0;
clicked_axisview = &clicked_regionview->get_time_axis_view();
clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
- ret = button_press_handler (item, event,
RegionViewNameHighlight
);
+ ret = button_press_handler (item, event,
type
);
break;
case GDK_BUTTON_RELEASE:
break;
case GDK_BUTTON_RELEASE:
- ret = button_release_handler (item, event,
RegionViewNameHighlight
);
+ ret = button_release_handler (item, event,
type
);
break;
case GDK_MOTION_NOTIFY:
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
break;
case GDK_MOTION_NOTIFY:
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
- ret = enter_handler (item, event,
RegionViewNameHighlight
);
+ ret = enter_handler (item, event,
type
);
break;
case GDK_LEAVE_NOTIFY:
break;
case GDK_LEAVE_NOTIFY:
- ret = leave_handler (item, event,
RegionViewNameHighlight
);
+ ret = leave_handler (item, event,
type
);
break;
default:
break;
default:
@@
-833,7
+831,8
@@
Editor::canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::
ret = button_release_handler (item, event, RegionViewNameHighlight);
break;
case GDK_MOTION_NOTIFY:
ret = button_release_handler (item, event, RegionViewNameHighlight);
break;
case GDK_MOTION_NOTIFY:
- ret = motion_handler (item, event);
+ motion_handler (item, event);
+ ret = true; // force this to avoid progagating the event into the regionview
break;
case GDK_ENTER_NOTIFY:
ret = enter_handler (item, event, RegionViewNameHighlight);
break;
case GDK_ENTER_NOTIFY:
ret = enter_handler (item, event, RegionViewNameHighlight);
@@
-998,6
+997,10
@@
Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const & /*c*/,
boost::shared_ptr<Region> region = _regions->get_dragged_region ();
boost::shared_ptr<Region> region = _regions->get_dragged_region ();
+ if (!region) {
+ return true;
+ }
+
boost::shared_ptr<Region> region_copy = RegionFactory::create (region);
if (boost::dynamic_pointer_cast<AudioRegion> (region_copy) != 0 &&
boost::shared_ptr<Region> region_copy = RegionFactory::create (region);
if (boost::dynamic_pointer_cast<AudioRegion> (region_copy) != 0 &&