annoying glib licencing stuff
- From: Mathieu Lacage <Mathieu Lacage sophia inria fr>
- To: gtk <gtk-devel-list gnome org>
- Subject: annoying glib licencing stuff
- Date: Thu, 26 May 2005 14:22:58 +0200
hi,
I received a patch from a user of the gobject documentation I wrote a
while so I spent a while integrating his typo fixes in the glib cvs HEAD
repository.
The attached patch (typos.patch) which I have not yet committed contains
his fixes and a few other typo fixes I had lying around. Am I allowed,
to check in myself without prior approval patches which touch only the
docs/reference/gobject/tut_*.xml files ?
I must say that I am a bit annoyed by two things about the current state
of cvs HEAD:
- the list of contributors has disappeared from the documentation.
While I don't mind moving it to some place less visible than it was
before, I would like to keep it in the xml.
- my copyright as well as my name have disappeared from the source xml
and are not visible anywhere in the source tree despite what the license
it was released under requires (see docs/reference/COPYING).
I would be happy if someone could approve the other patch attached
(license.patch):
- re-add the list of contributors in a separate chapter at the end of
the gobject-doc.sgml file.
- add a copyright statement at the top of gobject-doc.sgml including
me and the other major contributors. I have no idea who the "other major
contributors" are for the parts of the document I did not write and the
parts which are automatically extracted from the source code so I did
put only my name there. (adding more is a matter of adding a <copyright>
tag with its <year> and <holder> tags)
regards,
Mathieu
--
? patch
? docs/reference/gobject/gobject-0.10.0-changes.patch
? docs/reference/gobject/patch
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/glib/ChangeLog,v
retrieving revision 1.1961
diff -u -r1.1961 ChangeLog
--- ChangeLog 25 May 2005 22:37:47 -0000 1.1961
+++ ChangeLog 26 May 2005 11:48:14 -0000
@@ -1,3 +1,8 @@
+2005-05-26 Mathieu Lacage <mathieu gnome org>
+
+ * docs/reference/gobject/tut_*.xml: fix a lot of typos,
+ some of which were reported by Leonardo Boshell.
+
Wed May 25 15:33:51 2005 Manish Singh <yosh gimp org>
* glib/goption.c (print_help): rest_description should be const.
Index: docs/reference/gobject/tut_gobject.xml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/tut_gobject.xml,v
retrieving revision 1.5
diff -u -r1.5 tut_gobject.xml
--- docs/reference/gobject/tut_gobject.xml 9 May 2005 05:25:21 -0000 1.5
+++ docs/reference/gobject/tut_gobject.xml 26 May 2005 11:48:14 -0000
@@ -498,7 +498,7 @@
<para>
The above example, which might seem a bit contrived can really happen if your
- GObject's are being by language bindings. I would thus suggest the rules stated above
+ GObject's are being handled by language bindings. I would thus suggest the rules stated above
for object destruction are closely followed. Otherwise, <emphasis>Bad Bad Things</emphasis>
will happen.
</para>
Index: docs/reference/gobject/tut_gsignal.xml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/tut_gsignal.xml,v
retrieving revision 1.3
diff -u -r1.3 tut_gsignal.xml
--- docs/reference/gobject/tut_gsignal.xml 22 Apr 2005 10:27:37 -0000 1.3
+++ docs/reference/gobject/tut_gsignal.xml 26 May 2005 11:48:14 -0000
@@ -29,7 +29,7 @@
<para>
The <type><link linkend="GClosure">GClosure</link></type> structure represents the common functionality of all
- closure implementations: there exist a different Closure implementation for
+ closure implementations: there exists a different Closure implementation for
each separate runtime which wants to use the GObject type system.
<footnote><para>
In Practice, Closures sit at the boundary of language runtimes: if you are
Index: docs/reference/gobject/tut_gtype.xml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/tut_gtype.xml,v
retrieving revision 1.7
diff -u -r1.7 tut_gtype.xml
--- docs/reference/gobject/tut_gtype.xml 23 Apr 2005 09:50:36 -0000 1.7
+++ docs/reference/gobject/tut_gtype.xml 26 May 2005 11:48:14 -0000
@@ -286,7 +286,7 @@
#define MAMAN_IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MAMAN_BAR_TYPE))
#define MAMAN_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MAMAN_BAR_TYPE, MamanBarClass))
</programlisting>
- <note>Stick to the naming <code>klass</code> as <code>class</code> is a registered c++ keyword.</note>
+ <note><simpara>Stick to the naming <varname>klass</varname> as <varname>class</varname> is a registered c++ keyword.</simpara></note>
</para>
<para>
@@ -387,13 +387,13 @@
int field_a;
} MamanBar;
-struct _MamanBarClass {
+typedef struct {
GObjectClass parent;
/* class members */
void (*do_action_public_virtual) (MamanBar *self, guint8 i);
void (*do_action_public_pure_virtual) (MamanBar *self, guint8 i);
-};
+} MamanBarClass;
#define MAMAN_BAR_TYPE (maman_bar_get_type ())
@@ -413,9 +413,9 @@
0, /* n_preallocs */
(GInstanceInitFunc) NULL /* instance_init */
};
- type = g_type_register_fundamental (G_TYPE_OBJECT,
- "BarType",
- &info, 0);
+ type = g_type_register_static (G_TYPE_OBJECT,
+ "BarType",
+ &info, 0);
}
return type;
}
@@ -609,8 +609,9 @@
</row>
<row>
<entry>First call to <function><link linkend="g-type-create-instance">g_type_create_instance</link></function> for target type</entry>
- <entry colspan="2">interface initialization, see
+ <entry>interface initialization, see
<xref linkend="gtype-non-instantiable-classed-init"/></entry>
+ <entry></entry>
</row>
<row>
<entry>Each call to <function><link linkend="g-type-create-instance">g_type_create_instance</link></function> for target type</entry>
@@ -619,7 +620,7 @@
</row>
<row>
<entry>Last call to <function><link linkend="g-type-free-instance">g_type_free_instance</link></function> for target type</entry>
- <entry colspan="2">interface destruction, see
+ <entry>interface destruction, see
<xref linkend="gtype-non-instantiable-classed-dest"/></entry>
<entry></entry>
</row>
@@ -675,7 +676,7 @@
MAMAN_IBAZ_GET_INTERFACE (self)->do_action (self);
}
</programlisting>
- <function>maman_ibaz_get_gtype</function> registers a type named <emphasis>MamanIBaz</emphasis>
+ <function>maman_ibaz_get_type</function> registers a type named <emphasis>MamanIBaz</emphasis>
which inherits from G_TYPE_INTERFACE. All interfaces must be children of G_TYPE_INTERFACE in the
inheritance tree.
</para>
Index: docs/reference/gobject/tut_howto.xml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/tut_howto.xml,v
retrieving revision 1.9
diff -u -r1.9 tut_howto.xml
--- docs/reference/gobject/tut_howto.xml 23 Apr 2005 09:50:36 -0000 1.9
+++ docs/reference/gobject/tut_howto.xml 26 May 2005 11:48:14 -0000
@@ -164,20 +164,20 @@
MamanBarPrivate *priv;
};
</programlisting>
- <note>Do not call this <code>private</code>, as that is a registered c++ keyword.</note>
+ <note><simpara>Do not call this <varname>private</varname>, as that is a registered c++ keyword.</simpara></note>
The private structure is then defined in the .c file, instantiated in the object's
<function>init</function> function and destroyed in the object's <function>finalize</function> function.
<programlisting>
static void maman_bar_finalize(GObject *object) {
MamanBar *self = MAMAN_BAR (object);
- ...
+ /* do stuff */
g_free (self->priv);
}
static void maman_bar_init(GTypeInstance *instance, gpointer g_class) {
MamanBar *self = MAMAN_BAR (instance);
self->priv = g_new0(MamanBarPrivate,1);
- ...
+ /* do stuff */
}
</programlisting>
</para></listitem>
@@ -495,7 +495,7 @@
Just as with C++, there are many different ways to define object
methods and extend them: the following list and sections draw on C++ vocabulary.
(Readers are expected to know basic C++ buzzwords. Those who have not had to
- write C++ code recently can refer to e.g. <ulink>http://www.cplusplus.com/doc/tutorial/</ulink> to refresh their
+ write C++ code recently can refer to e.g. <ulink url="http://www.cplusplus.com/doc/tutorial/"/> to refresh their
memories.)
<itemizedlist>
<listitem><para>
Index: docs/reference/gobject/tut_intro.xml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/tut_intro.xml,v
retrieving revision 1.4
diff -u -r1.4 tut_intro.xml
--- docs/reference/gobject/tut_intro.xml 22 Apr 2005 10:27:37 -0000 1.4
+++ docs/reference/gobject/tut_intro.xml 26 May 2005 11:48:14 -0000
@@ -148,10 +148,10 @@
<figure>
<mediaobject>
<imageobject> <!-- this is for HTML output -->
- <imagedata fileref="glue.png" format="png" align="center"/>
+ <imagedata fileref="glue.png" format="PNG" align="center"/>
</imageobject>
<imageobject> <!-- this is for PDF output -->
- <imagedata fileref="glue.jpg" format="jpg" align="center"/>
+ <imagedata fileref="glue.jpg" format="JPG" align="center"/>
</imageobject>
</mediaobject>
</figure>
@@ -165,7 +165,7 @@
the whole GType/GObject library. C programmers are likely to be puzzled at the complexity
of the features exposed in the following chapters if they forget that the GType/GObject library
was not only designed to offer OO-like features to C programmers but also transparent
-cross-langage interoperability.
+cross-language interoperability.
</para>
</sect1>
Index: docs/reference/gobject/tut_tools.xml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/tut_tools.xml,v
retrieving revision 1.2
diff -u -r1.2 tut_tools.xml
--- docs/reference/gobject/tut_tools.xml 22 Apr 2005 10:27:37 -0000 1.2
+++ docs/reference/gobject/tut_tools.xml 26 May 2005 11:48:14 -0000
@@ -1,7 +1,7 @@
<partintro>
<para>
Several useful developer tools have been build around GObject technology.
- Next sections briefly introduce them and link to the respective project pages.
+ The next sections briefly introduce them and link to the respective project pages.
</para>
</partintro>
@@ -10,26 +10,39 @@
<para>
Writing gobjects can be a tedious task. It requires a lot of typing and just
- doing copy and paste needs care. On obvious idea is to use some sort of
- templates for the class skelletons. Then a tool could generate the real c
- files from them.
- <ulink url="http://www.5z.com/jirka/gob.html">GOB/</ulink> (or GOB2) is suc
- h a tool. It is a preprocessor for making GObjects with inline C code so
- that generated files are not edited.
- Syntax is inspired by Java and Yacc or Lex. The implementation is
- intentionally kept simple, and no C actual code parsing is done.
+ doing a copy/paste requires a great deal of care.
+ One obvious idea is to use some sort of templates for the class skeletons.
+ and then run them through a special tool to generate the real C files.
+ <ulink url="http://www.5z.com/jirka/gob.html">GOB/</ulink> (or GOB2) is such
+ a tool. It is a preprocessor which can be used to build GObjects
+ with inline C code so that there is no need to edit the generated C code.
+ The syntax is inspired by Java and Yacc or Lex. The implementation is
+ intentionally kept simple: the inline C code provided by the user
+ is not parsed.
</para>
</chapter>
+<chapter id="tools-ginspector">
+ <title>Graphical inspection of Gobjects</title>
+
+ <para>
+ Yet another tool that you may find helpful when working with
+ GObjects is <ulink
+ url="http://sourceforge.net/projects/g-inspector">G-Inspector</ulink>. It
+ is able to display Glib/Gtk+ objects and their properties.
+ </para>
+</chapter>
+
+
<chapter id="tools-refdb">
<title>Debugging reference count problems</title>
<para>
The reference counting scheme used by GObject does solve quite
a few memory management problems but also introduces new sources of bugs.
- In large applications, finding the exact spot where a the reference count
+ In large applications, finding the exact spot where the reference count
of an Object is not properly handled can be very difficult. Hopefully,
- there exist at a too named <ulink url="http://refdbg.sf.net/">refdbg/</ulink>
+ there exist a tool named <ulink url="http://refdbg.sf.net/">refdbg/</ulink>
which can be used to automate the task of tracking down the location
of invalid code with regard to reference counting. This application
intercepts the reference counting calls and tries to detect invalid behavior.
@@ -71,6 +84,5 @@
<ulink url="http://developer.gnome.org/arch/doc/authors.html">documentation</ulink>
on how to setup and use gtk-doc in your
project is provided on the gnome developer website.
- gtk-doc generates
</para>
</chapter>
Index: docs/reference/gobject/gobject-docs.sgml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/gobject-docs.sgml,v
retrieving revision 1.19
diff -u -r1.19 gobject-docs.sgml
--- docs/reference/gobject/gobject-docs.sgml 22 Apr 2005 10:27:37 -0000 1.19
+++ docs/reference/gobject/gobject-docs.sgml 26 May 2005 12:19:37 -0000
@@ -25,12 +25,59 @@
<!ENTITY tutorial-GSignal SYSTEM "tut_gsignal.xml">
<!ENTITY tutorial-HowTo SYSTEM "tut_howto.xml">
<!ENTITY tutorial-Tools SYSTEM "tut_tools.xml">
+<!ENTITY tutorial-Contributors SYSTEM "tut_contributors.xml">
]>
<book id="index">
<bookinfo>
<title>GObject Reference Manual</title>
<releaseinfo>for GLib &version;</releaseinfo>
+
+ <legalnotice>
+ <para>
+This work may be reproduced and distributed in whole or in part, in
+any medium, physical or electronic, so as long as this copyright
+notice remains intact and unchanged on all copies. Commercial
+redistribution is permitted and encouraged, but you may not
+redistribute, in whole or in part, under terms more restrictive than
+those under which you received it. If you redistribute a modified or
+translated version of this work, you must also make the source code to
+the modified or translated version available in electronic form
+without charge. However, mere aggregation as part of a larger work
+shall not count as a modification for this purpose.
+ </para>
+
+ <para>
+All code examples in this work are placed into the public domain,
+and may be used, modified and redistributed without restriction.
+ </para>
+
+ <para>
+BECAUSE THIS WORK IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE WORK, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE WORK "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. SHOULD THE WORK PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY REPAIR OR CORRECTION.
+ </para>
+
+ <para>
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE WORK AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+WORK, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+ </para>
+ </legalnotice>
+
+ <copyright>
+ <year>2002</year><year>2003</year><year>2004</year>
+ <holder>Mathieu Lacage</holder>
+ </copyright>
</bookinfo>
<preface>
@@ -120,6 +167,8 @@
&tutorial-Tools;
</part>
+
+ &tutorial-Contributors;
<index>
<title>Index</title>
Index: docs/reference/gobject/tut_contributors.xml
===================================================================
RCS file: docs/reference/gobject/tut_contributors.xml
diff -N docs/reference/gobject/tut_contributors.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ docs/reference/gobject/tut_contributors.xml 26 May 2005 12:19:37 -0000
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding="ISO-8859-1"?>
+<chapter>
+ <title>List of Contributors</title>
+
+<para>
+This list is ordered by decreasing date: the first entries represent the most recent contributions.
+</para>
+<para>
+Special
+thanks must be given to Stefan Kost who took care of the integration of the gobject tutorial with the gobject
+API reference and did a lot of merciless boring maintainance tasks.
+ <itemizedlist>
+ <listitem><para>Zeeshan Ali</para></listitem>
+ <listitem><para>Sylvain Foret</para></listitem>
+ <listitem><para>Stefan Kost</para></listitem>
+ <listitem><para>Stepan Kasal</para></listitem>
+ <listitem><para>Tommi Komulainen</para></listitem>
+ <listitem><para>Lorenzo Gil Sanchez</para></listitem>
+ <listitem><para>Peteraj</para></listitem>
+ <listitem><para>Christophe Fergeau</para></listitem>
+ <listitem><para>Paolo Borelli</para></listitem>
+ <listitem><para>Manuel Zabelt</para></listitem>
+ <listitem><para>Jean-Yves Lefort</para></listitem>
+ <listitem><para>David Turner</para></listitem>
+ <listitem><para>Matthias Clasen</para></listitem>
+ <listitem><para>Jery Kakol</para></listitem>
+ <listitem><para>Steven Cole</para></listitem>
+ <listitem><para>James Henstridge</para></listitem>
+ <listitem><para>Owen Taylor</para></listitem>
+ <listitem><para>Tim Janik</para></listitem>
+ </itemizedlist>
+</para>
+</chapter>
Index: docs/reference/gobject/Makefile.am
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/gobject/Makefile.am,v
retrieving revision 1.33
diff -u -r1.33 Makefile.am
--- docs/reference/gobject/Makefile.am 22 Apr 2005 10:27:37 -0000 1.33
+++ docs/reference/gobject/Makefile.am 26 May 2005 12:19:37 -0000
@@ -44,7 +44,8 @@
tut_gtype.xml \
tut_howto.xml \
tut_intro.xml \
- tut_tools.xml
+ tut_tools.xml \
+ tut_contributors.xml
# Images to copy into HTML directory
HTML_IMAGES = \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]