Gtk+
코드는 Cairo
및 타이머를 사용하는 C
으로 작성된 코드를 가지고 있습니다.GTK 위젯이 파괴되었는지 확인하는 방법
은 Gtk-CRITICAL ** : gtk_widget_queue_draw : 대부분의 시간을 때 내가 터미널에 다음과 같은 메시지가 얻을 닫기 응용 프로그램 아이콘을 클릭 주장`GTK_IS_WIDGET (위젯) '
실패 이제는 응용 프로그램을 닫는 순간 타이머가 작동되고 기본 창 위젯에 액세스하지만 이후 파괴 되었기 때문에 이것이 정상적으로 작동하고 있다고 가정합니다. Gtk 위젯이 여전히 유효하고 참조 될 수 있는지를 결정하는 일반적인 방법은 무엇입니까?
기분을 상하게하는 코드
은 여기에 있습니다 : 나는 믿고있어gboolean rotate_cb(void *degrees)
{
rotation += DegreesToRadians((*(int*)(degrees)));
// Tell our window that it should repaint itself (ie. emit an expose event)
/* need to only call gtk_widget_queue_draw() if window is still valid/exists */
gtk_widget_queue_draw(window);
return(TRUE);
}
window
여전히 활성 및 유효 여부를 테스트 할 수있는 방법이 있어야합니다?
매우 상세한 답변을 해주신 Rodrigo에게 감사드립니다. 나는 많은 것을 배웠고 그것을 고맙게 생각한다. – Chimera
와우, 대단한 대답 이군. –
매우 교육적인 대답, +1! – Nelson