From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23912 invoked by alias); 15 May 2003 07:59:22 -0000 Mailing-List: contact guile-gtk-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: guile-gtk-owner@sources.redhat.com Received: (qmail 23888 invoked from network); 15 May 2003 07:59:21 -0000 Received: from unknown (HELO lumo.pacujo.net) (209.77.185.85) by sources.redhat.com with SMTP; 15 May 2003 07:59:21 -0000 Received: (from marko@localhost) by lumo.pacujo.net (8.11.6/8.11.6/SuSE Linux 0.5) id h4F7owW23388; Thu, 15 May 2003 00:50:58 -0700 To: guile-gtk@sources.redhat.com Subject: Completed GdkWindow; enhanced design From: Marko Rauhamaa Date: Thu, 15 May 2003 07:59:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-q2/txt/msg00070.txt.bz2 I completed the GdkWindow functions. To implement user_data and filter callbacks (while protecting them from GC), I added the boxed_mark () function to participate in the GC mark phase. Accordingly, I added a 'mark option to define-boxed and define-struct. The GdkWindow user_data design is as follows: The GdkWindow user_data is either NULL (initially) or an SCM list. The first element of the list is the SCM user data (or #f). The remainder of the list consists of filter procedures. You will see that gdk_window_mark will simply return its user_data to protect it against GC. Marko -- Marko Rauhamaa mailto:marko@pacujo.net http://pacujo.net/marko/