[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gnash-dev
Subject:    Re: [Gnash-dev] Pull Request
From:       thePalindrome theParanoid <gordion42 () gmail ! com>
Date:       2016-09-29 11:12:23
Message-ID: CAM__29uTbWP0NtUcShTZ_7=5DdNORFi26Q+2KKqu9eqtS5MOfw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I'm submitting this commit because in order to interface with the gui using
an ABC block, I need to call the HostInterface.

ControlTag's only have a MovieClip* and a DisplayList& and as such lacks
direct access to the movie_root that maintains the HostInterface.

DisplayObject provides the stage() function, which returns the movie_root.
That function is protected, however, and cannot be referenced outside of
the class/children.

In order to maintain a principle-of-least-privilage, I am opting to forward
the HostInterface related functions through the DisplayObject.

I have tested this code with a test pop-up upon attempting to execute an
ABC block.

Hopefully this explains my intentions well enough.

On Thu, Sep 29, 2016 at 5:04 AM, Petter Reinholdtsen <pere@hungry.com>
wrote:

>
> Hi.  I suspect you want to send this to the mailing list, where it will
> reach people with commit access to the gnash repo.
>
> [thePalindrome theParanoid]
> > This particular change exposes both callInterface() functions in
> > movie_root, as well as queryInterface() and registerEventCallback() for
> all
> > types that extend DisplayObject (I was mainly going for MovieClip, but I
> > figured the generic case would work better)
> >
> > This change is necessary because DisplayObject::stage(), which is the
> only
> > way to obtain a movie_root from a DisplayObject, is protected.
>
> I still miss a use case for this to understand the motivation.
> "movie_root isn't available" is not really a motivation, it is an
> observation.
>
> --
> Happy hacking
> Petter Reinholdtsen
>

[Attachment #5 (text/html)]

<div dir="ltr"><div><div><div><div><div>I&#39;m submitting this commit because in \
order to interface with the gui using an ABC block, I need to call the \
HostInterface.<br><br></div>ControlTag&#39;s only have a MovieClip* and a \
DisplayList&amp; and as such lacks direct access to the movie_root that maintains the \
HostInterface.<br><br></div>DisplayObject provides the stage() function, which \
returns the movie_root. That function is protected, however, and cannot be referenced \
outside of the class/children.<br><br></div>In order to maintain a \
principle-of-least-privilage, I am opting to forward the HostInterface related \
functions through the DisplayObject.<br><br></div>I have tested this code with a test \
pop-up upon attempting to execute an ABC block.<br><br></div>Hopefully this explains \
my intentions well enough.<br></div><div class="gmail_extra"><br><div \
class="gmail_quote">On Thu, Sep 29, 2016 at 5:04 AM, Petter Reinholdtsen <span \
dir="ltr">&lt;<a href="mailto:pere@hungry.com" \
target="_blank">pere@hungry.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><br> Hi.   I suspect you want to send this to the mailing \
list, where it will<br> reach people with commit access to the gnash repo.<br>
<br>
[thePalindrome theParanoid]<br>
<span class="">&gt; This particular change exposes both callInterface() functions \
in<br> &gt; movie_root, as well as queryInterface() and registerEventCallback() for \
all<br> &gt; types that extend DisplayObject (I was mainly going for MovieClip, but \
I<br> &gt; figured the generic case would work better)<br>
&gt;<br>
&gt; This change is necessary because DisplayObject::stage(), which is the only<br>
&gt; way to obtain a movie_root from a DisplayObject, is protected.<br>
<br>
</span>I still miss a use case for this to understand the motivation.<br>
&quot;movie_root isn&#39;t available&quot; is not really a motivation, it is an<br>
observation.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Happy hacking<br>
Petter Reinholdtsen<br>
</div></div></blockquote></div><br></div>



_______________________________________________
Gnash-dev mailing list
Gnash-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnash-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic