Подробности

[В начало]

Проблема в стандарте № D0081

Краткое описание

Некорректное описание функции g_cclosure_marshal_STRING__OBJECT_POINTER

Подробное описание

  1. В тексте описания функции указано: A marshaller for a GCClosure with a callback of type void (*callback) (gpointer instance, GObject* arg1, gpointer user_data). Здесь тип возвращаемого значения типа функции обратного вызова должен быть "gchar*", а не "void".
  2. В описании параметра "return_value" указано return_value : ignored, в то время как посредством этого параметра должно быть получено возвращаемое значение.

Раздел стандарта

Linux Standard Base Desktop Specification 3.1, Chapter 12. Libraries, 12.2 Interfaces for libglib-2.0; http://www.gtk.org/api/2.6/glib/gobject-Closures.html#g-cclosure-marshal-STRING--OBJECT-POINTER

Способы устранения

  1. Необходимо изменить текст следующим образом: A marshaller for a GCClosure with a callback of type gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data).
  2. Необходимо изменить описание параметра следующим образом: return_value : a GValue, which can store the returned string

Принято

Gnome Bugzilla 534177

Статус

Исправлена в glib 2.18

[В начало]