You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 3911 Reporter: philippe_wang Status: closed (set by @damiendoligez on 2005-12-15T12:32:07Z) Resolution: won't fix Priority: normal Severity: minor Version: 3.09.0 Category: ~DO NOT USE (was: OCaml general)
Bug description
J'ai un programme qui a un comportement qui est un peu gênant quand je combine Graphics et Thread, et qu'une exception est levée.
Le mauvais comportement est que le double clic en pleine fenêtre Graphics fait qu'elle se réduit donc le dock.
(Mac OS 10.4.3 G4@1.5GHz Powerbook ; X11 1.1 - XFree86 4.4.0)
Additional information
Voici un programme qui lève toujours une exception (c'est normal car la fenêtre graphique n'est pas ouverte). Le problème est le comportement "après exception rattrapée" au niveau de la fenêtre graphique.
(* ocaml -I +threads unix.cma threads.cma graphics.cma )
open Graphics
let thread () =
try while true do ignore (wait_next_event [Button_down]) done
with _ -> print_endline "exception levee"
let _ = Thread.create thread ()
let () = open_graph " "
( ci-après, le double clic dans la fenêtre l'envoie dans le dock... *)
The text was updated successfully, but these errors were encountered:
Ce n'est pas un bug, c'est le comportement normal du serveur X11 sous Mac OSX.
Si tu lances une application X11 sous Mac, tu peux remarquer que le double-clic minimise la fenêtre. Bien sur, il faut que le double-clic ne soit pas intercepté par l'application elle-même. C'est le cas pour toutes les applications si tu double-cliques sur la barre de titre de la fenêtre.
Dans ton exemple, thread lève immédiatement une exception, donc on n'écoute plus la souris. Le double-clic est alors transmis au serveur X (comme si tu double cliquais sur le titre de la fenêtre).
Ce n'est pas un bug.
(gs a par exemple le même comportement, la plupart des applis en tcl/tk, etc...)
ah bon... moi qui croyais que c'était à cause de...
Ok il faut que je revoies mes programmes alors !
Merci Christophe.
(mais je n'aime pas du tout ce comportement... il faut forcément intercepter les clics si on veut éviter ça. Dans certains cas il suffit de lancer un thread qui prend tous les évèvements, mais dans d'autres c'est pénible à gérer...)
Original bug ID: 3911
Reporter: philippe_wang
Status: closed (set by @damiendoligez on 2005-12-15T12:32:07Z)
Resolution: won't fix
Priority: normal
Severity: minor
Version: 3.09.0
Category: ~DO NOT USE (was: OCaml general)
Bug description
J'ai un programme qui a un comportement qui est un peu gênant quand je combine Graphics et Thread, et qu'une exception est levée.
Le mauvais comportement est que le double clic en pleine fenêtre Graphics fait qu'elle se réduit donc le dock.
(Mac OS 10.4.3 G4@1.5GHz Powerbook ; X11 1.1 - XFree86 4.4.0)
Additional information
Voici un programme qui lève toujours une exception (c'est normal car la fenêtre graphique n'est pas ouverte). Le problème est le comportement "après exception rattrapée" au niveau de la fenêtre graphique.
(* ocaml -I +threads unix.cma threads.cma graphics.cma )
open Graphics
let thread () =
try while true do ignore (wait_next_event [Button_down]) done
with _ -> print_endline "exception levee"
let _ = Thread.create thread ()
let () = open_graph " "
( ci-après, le double clic dans la fenêtre l'envoie dans le dock... *)
The text was updated successfully, but these errors were encountered: