GTKはこのGSEALオプションを使用して、誰かがWidget-structにアクセスできないようにします。Cでのオブジェクト指向プログラミングのため、他の言語と同じようにget-functionsを使用する必要があります。
の値ごとにget-functionがないためGtkButton、自分の値を変更する際に問題が発生しGtkWidgetsます。
これらの値にアクセスしたいstruct _GtkButton
struct _GtkButton
{
    ....
    guint GSEAL (activate_timeout);
    guint GSEAL (in_button) : 1;
    guint GSEAL (button_down) : 1;
    ....
}
on-clickのイベントを追加して、クリックイベントが呼び出される前にキャンセルしたいmybuttonので、次のように再実装することにしました。
static void gtk_real_button_pressed(GtkButton *button)
{
    if (button->activate_timeout)
        return;
    button->button_down = TRUE;
    gtk_button_update_state(button);
}
static void gtk_real_button_released(GtkButton *button)
{
    if (button->button_down)
    {
        button->button_down = FALSE;
        if (button->activate_timeout)
            return;
        if (button->in_button)
        {
            // do my own stuff here  and maybe don'tcall "gtk_button_clicked(...)"
            gtk_button_clicked(button);
        }    
        gtk_button_update_state(button);
    }
}
一番上で言ったように、私は今button->in_button、例えばにアクセスする必要があります。誰かが私を助けることができる手がかりを持っていますか?:)
ところで:
guint GSEAL (button_down) : 1;
この場合の使用法がわかりません: 1。:O