Nous travaillons sur des problèmes d'instabilité de palettes MyrScript lorsque l'utilisateur effectue des opérations "lourdes" (ajout, suppression de portées, annulation ou répétition de la dernière commande, etc) sur le document que la palette utilise. En effet, MyrScript est conçu pour un usage linéaire : le script est lancé, il récupère les divers objets : partition, portées, symboles, dans ses variables, y travaille dessus et se termine une fois la tâche effectuée. Il ne peut alors pas y avoir eu de modification du document par l'utilisateur durant le travail du script. Mais avec les palettes flottantes, une telle chose devient possible. Si la palette ne récupère les objets que lors de son ouverture, et considère que ceux-ci restent valables indéfiniment, les problèmes pointent le bout de leur nez. En effet, telle ou telle portée, tel ou tel symbole, mémorisés par le script pour un travail ultérieur, peuvent être déplacés ou supprimés par l'utilisateur. Le script ne se rend alors pas compte qu'il ne faut plus y travailler dessus sous peine d'erreur ou de crash. Nous essayons donc de mettre en place un système qui préviendrait les palettes MyrScript qu'un changement important a été effectué sur une partition ouverte, leur permettant ainsi de remettre à jour les objets par rapport au nouvel état de la partition. Mais cela demandera de compléter tous les scripts de type palette flottante qui pourraient présenter le problème. |