[glabels/vala] Use stacking order correctly when selecting and locating handles.
- From: Jim Evins <jimevins src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glabels/vala] Use stacking order correctly when selecting and locating handles.
- Date: Sat, 31 Mar 2012 02:04:11 +0000 (UTC)
commit 758640ab1f40b56d9c00becc9f1ec861418f090c
Author: Jim Evins <evins snaught com>
Date: Fri Mar 30 22:02:37 2012 -0400
Use stacking order correctly when selecting and locating handles.
glabels/handle.vala | 2 +-
glabels/label.vala | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/glabels/handle.vala b/glabels/handle.vala
index 8e9121b..7c8b060 100644
--- a/glabels/handle.vala
+++ b/glabels/handle.vala
@@ -33,7 +33,7 @@ namespace glabels
public abstract class Handle
{
- public LabelObject owner { get; protected set; }
+ public weak LabelObject owner { get; protected set; }
public abstract void draw( Cairo.Context cr );
public abstract void cairo_path( Cairo.Context cr );
diff --git a/glabels/label.vala b/glabels/label.vala
index 693447b..b43845d 100644
--- a/glabels/label.vala
+++ b/glabels/label.vala
@@ -346,8 +346,10 @@ namespace glabels
double x_pixels,
double y_pixels )
{
- foreach ( LabelObject object in object_list )
+ for ( unowned List<LabelObject>? p = object_list.last(); p != null; p = p.prev )
{
+ LabelObject object = p.data;
+
if ( object.is_located_at( cr, x_pixels, y_pixels ) )
{
return object;
@@ -362,13 +364,18 @@ namespace glabels
double x_pixels,
double y_pixels )
{
- foreach ( LabelObject object in object_list )
+ for ( unowned List<LabelObject>? p = object_list.last(); p != null; p = p.prev )
{
- Handle? handle = object.handle_at( cr, x_pixels, y_pixels );
+ LabelObject object = p.data;
- if ( handle != null )
+ if ( object.is_selected() )
{
- return handle;
+ Handle? handle = object.handle_at( cr, x_pixels, y_pixels );
+
+ if ( handle != null )
+ {
+ return handle;
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]