diff options
| author | Pietro Gagliardi <[email protected]> | 2015-04-14 12:51:20 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2015-04-14 12:51:20 -0400 |
| commit | 967804c5a3926296795729f13735a231afe3f247 (patch) | |
| tree | 53602795f6391ecdf8fce69ebadeb97001021463 | |
| parent | e9920c70c034d430f19475c230f3e85a056f4358 (diff) | |
Made the necessary previous commits changes on the Mac OS X backend. Untested yet.
| -rw-r--r-- | new/newcontrol_darwin.m | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/new/newcontrol_darwin.m b/new/newcontrol_darwin.m index 560a934..7c19061 100644 --- a/new/newcontrol_darwin.m +++ b/new/newcontrol_darwin.m @@ -32,22 +32,19 @@ static void singleSetParent(uiControl *c, uiParent *parent) { singleView *s = (singleView *) (c->internal); NSView *parentView; - - s->parent = parent; - parentView = (NSView *) uiParentHandle(s->parent); - [parentView addSubview:s->immediate]; - uiParentUpdate(s->parent); -} - -static void singleRemoveParent(uiControl *c) -{ - singleView *s = (singleView *) (c->internal); uiParent *oldparent; oldparent = s->parent; - s->parent = NULL; - [s->immediate removeFromSuperview]; - uiParentUpdate(oldparent); + s->parent = parent; + if (oldparent != NULL) { + [s->immediate removeFromSuperview]; + uiParentUpdate(oldparent); + } + if (s->parent != NULL) { + parentView = (NSView *) uiParentHandle(s->parent); + [parentView addSubview:s->immediate]; + uiParentUpdate(s->parent); + } } // also good for NSBox and NSProgressIndicator @@ -209,7 +206,6 @@ uiControl *uiDarwinNewControl(Class class, BOOL inScrollView, BOOL scrollViewHas c->destroy = singleDestroy; c->handle = singleHandle; c->setParent = singleSetParent; - c->removeParent = singleRemoveParent; c->preferredSize = singlePreferredSize; c->resize = singleResize; c->visible = singleVisible; |
