代码之家  ›  专栏  ›  技术社区  ›  John Bellone

Glib Gobject严重警告

  •  1
  • John Bellone  · 技术社区  · 15 年前

    我对这两个警告感到困惑。有人能解释我是如何触发它们的,以及它们是如何在gdb中调试的吗?

    (gtkworkbook:24668): GLib-GObject-CRITICAL **: g_cclosure_new: assertion `callback_func != NULL' failed

    (GTKWorkbook:24668):glib gobject critical**:g_signal_connect_closure_by_id:assertion` closure!= NULL“失败”

    2 回复  |  直到 15 年前
        1
  •  3
  •   mattwright    15 年前

    您可以尝试将g-fatal-warnings传入gtk::main,这将导致警告断言。您可以附加gdb,也许可以找出更多关于这是哪里失败的细节。

        2
  •  0
  •   John Bellone    15 年前

    我发现了问题。

    这段代码是从C中的原始实现移植的,在使用函数指针数组调用共享库中的函数之前,我有一个要求。虽然这样 [似乎] 在我真正开始使用它们的时候工作,情况并非如此。我有点困惑为什么它不起作用,但我能够将问题集中到下面的代码中。

    gtk_signal_connect (GTK_OBJECT (plugin()->workbook()->gtk_workbook), "switch-page",
     (GtkSignalFunc)this->signals[NOTEBOOK_SWITCHPAGE], plugin->workbook());
    

    已更改为以下内容:

    gtk_signal_connect (GTK_OBJECT (plugin()->workbook()->gtk_workbook), "switch-page",
     (GtkSignalFunc)signal_gtknotebook_switchpage, plugin->workbook());
    

    现在,代码编译了,我没有收到任何严重的错误。我 认为 这就是答案!