- int cx, cy; canvas->get_canvas()->get_relative_cursor_xy(cx, cy);
- if( cx < mwindow->theme->ccanvas_x ) return 0;
- if( cx >= mwindow->theme->ccanvas_x+mwindow->theme->ccanvas_w ) return 0;
- if( cy < mwindow->theme->ccanvas_y ) return 0;
- if( cy >= mwindow->theme->ccanvas_y+mwindow->theme->ccanvas_h ) return 0;
+ int cx, cy; cwindow_gui->get_relative_cursor_xy(cx, cy);
+ cx -= mwindow->theme->ccanvas_x;
+ cy -= mwindow->theme->ccanvas_y;
+
+ if( !dragging ) {
+ if( cx < 0 || cx >= mwindow->theme->ccanvas_w ) return 0;
+ if( cy < 0 || cy >= mwindow->theme->ccanvas_h ) return 0;
+ }