Re: [AD] Old patches return

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> Sure, but any object below it won't get them. I use that for GUI
> objects that are essentially decorations on top of the active object.
> In this case, the object below must answer mouse messages, but would
> not receive them, as the decoration would be deemed to be the mouse
> messages recipient by the GUI handler.

Do these decorations need to be GUI objects at all? Can't you make them 
part of the real object?

> In a general case, I think it's bad to ignore all messages (bar the
> MSG_DRAW one) for hidden objects. But it would probably break things
> to change this, so I didn't.

Hidden objects are deemed "inactive" in the docs, so I think the current code 
is reasonable for internal messages. If you want to get all the messages, 
use a visible object that draws nothing (I dunno whether this would really 
work, though).

> > Don't forget that disabled objects must redraw themselves, so
> > they must get at least the MSG_DRAW message.
>
> They should get it. I do have disabled objects that are drawn.

You mean with your patch applied? If so, that's because object_message() is 
called directly on them. But

@@ -381,7 +381,7 @@
          if ((try == 2) && (&dialog[count] != active_menu_player->dialog))
            continue;

-        if ((force) || (!(dialog[count].flags & D_HIDDEN))) {
+        if ((force) || (!(dialog[count].flags & D_DISABLED))) {
            r = object_message(&dialog[count], msg, c);

            if (r != D_O_K) {

will turn dialog_message() into a no-op for them with MSG_DRAW for sure, 
because 'force' is FALSE for MSG_DRAW.

> Thanks for taking the time to revisit those old posts.

Well, I should have revisited them when they were posted instead :-)

-- 
Eric Botcazou




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/