Monster's Ball

Hank Grotowski (Billy Bob Thornton), a widower, and his son, Sonny (Heath Ledger), are corrections officers in a prison in Louisiana. They reside with Hank's ailing father, Buck (Peter Boyle), a racist retired corrections officer whose wife committed suicide.
Hank is a deputy warden. He oversees the execution of convicted murderer Lawrence Musgrove (Sean Combs). As explained to Sonny by Hank, at the diner bar the night before, a "Monster's Ball" is what the execution team calls that night's get-together. The proceedings prove too intense for Sonny, who begins to vomit and then collapses as he is leading Lawrence to the electric chair.
Hank confronts Sonny in the jail's bathroom afterwards and slaps him for being so "soft" and ruining a man's last walk. At home, Hank attacks Sonny in his bed and tells him to get out of the house. Sonny grabs a gun, and threatens his father, who backs off. The confrontation ends in their living room with Hank at gunpoint, lying on the carpet, and Sonny in Buck's customary chair. Sonny asks his father if he hates him. After his father calmly confirms that he does and always has, Sonny responds, "Well I always loved you," and then shoots himself in the chest, dying instantly.
Hank buries Sonny in the back garden with no real funeral because, as Buck observes, "He was weak." Hank subsequently quits his job, burns his uniform in the backyard, and locks the door of Sonny's room.
During the years of Lawrence's imprisonment, his wife, Leticia (Halle Berry), has been struggling while raising their son, Tyrell (Coronji Calhoun), who has inherited his father's artistic talent. She abusively berates the boy regarding his obesity. Along with her domestic problems, Leticia struggles financially, leading to the loss of the family car and, worse, an eviction notice on her house. In desperate need of money, Leticia takes a job at a diner frequented by Hank.
One rainy night, Leticia and Tyrell are walking down a soaked highway when Tyrell is struck by a car. Hank happens to be driving along and sees Leticia and Tyrell. After some hesitation, he drives Leticia and Tyrell to a hospital, but Tyrell dies upon arrival. At the suggestion of the authorities at the hospital, Hank drives her home.
A few days later, Hank gives Leticia a ride home from the diner. They begin talking in the car about their common losses, and she invites him in. Hank finds out that Leticia is Lawrence's widow, though he does not tell her that he participated in her husband's execution. They drown their grief with alcohol and have sex.
Leticia stops by Hank's home with a present for him, but he is not there. She meets Buck, who insults her and implies that Hank is only involved with her because he wants to have sex with a black woman. Leticia, hurt by the remarks, refuses to interact with Hank. The incident proves to be the last straw for Hank and he decides to send his father to a nursing home. Leticia is evicted from her home for non-payment of rent and Hank invites her to move in with him. She later discovers Hank's involvement in her husband's death when she finds a drawing of Hank done by Lawrence as he awaited execution. She erupts, but is there waiting for him when he returns from town with ice cream. The film ends with the two of them eating ice cream together on the back porch, content with each other.

Question: Who grabs the gun?
Answer: Sonny