changeset 706:79b38b1f3346

Scrollbar event fixes... scale was wrong... not sure it is correct but it is better. Don't send resize events when size is negative which happens with hidden notebook pages.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 11 Mar 2011 21:53:01 +0000
parents 7087f3a294e5
children 86d76fc09237
files mac/dw.m
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mac/dw.m	Fri Mar 11 20:30:59 2011 +0000
+++ b/mac/dw.m	Fri Mar 11 21:53:01 2011 +0000
@@ -134,7 +134,7 @@
 int _event_handler(id object, NSEvent *event, int message)
 {
 	SignalHandler *handler = _get_handler(object, message);
-	NSLog(@"Event handler - type %d\n", message);
+	/* NSLog(@"Event handler - type %d\n", message); */
 	
 	if(handler)
 	{
@@ -166,7 +166,11 @@
 					size = [view frame].size;
 				}
 				
-				return sizefunc(object, size.width, size.height, handler->data);
+                if(size.width > 0 && size.height > 0)
+                {
+                    return sizefunc(object, size.width, size.height, handler->data);
+                }
+                return 0;
 			}	
             /* Button press and release event */
 			case 3:
@@ -695,7 +699,7 @@
 -(float)range { return range; }
 -(float)visible { return visible; }
 -(void)setRange:(float)input1 andVisible:(float)input2 { range = input1; visible = input2; }
--(void)scrollerChanged:(id)sender { NSNumber *num = [NSNumber numberWithDouble:[self floatValue]]; _event_handler(self, (void *)[num integerValue], 14); }
+-(void)scrollerChanged:(id)sender { int result = (int)([self doubleValue] * [self range]); _event_handler(self, (void *)result, 14); }
 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; }
 @end