>> I found out an alternative solution that's safer and does away with my >> pointer problems. I also found out why my server pushes made my app slow. >> I'm such a dork for having to create a topic! > > It would be good to list the reasons in case anyone else encounters > something similar. :)
In my map program, users can see others drag and drop objects around a grid of container widgets. I don't use the dragged widget as a source anymore for a drop event; instead I use the dragged widget's container as the source. The container will at least have a longer lifetime than the dragged widget. For my old way, I couldn't guarantee the dragged widget still existed (someone may have dragged it to a trashcan widget or it could have been deleted in a graphic update). Then, from the destination widget, I would emit a signal at the source container widget's side that says: "the drop has been completed and here are the destination coordinates." Draggable widgets inside the source container will interpret this signal to see if the drop event applies to any of them. If it does apply, the respective drag widget will alter its record in the database with the location of its new parent container. Then the dragged widget passes its destination and origin coordinates on the map to a service object that manages server pushes. Any container widgets having the above coordinates will actualize their contents again. As a result, everyone on the map program will see the dragged widget be put in its new spot. (main point: ) I like communicating via signals versus pointers. With pointers, I have to hope the pointer I'm using to communicate is still valid. Also, it keeps my container widget's implementation clean: I don't want it to keep track of my draggable widgets. As for me making my server push process go faster, my widgets weren't interpreting the update event properly: all widgets were refreshing their contents versus certain ones. Sorry for being verbose. Regards, david ------------------------------------------------------------------------------ _______________________________________________ witty-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/witty-interest
