Re: libegg: Removing old directories

2011-04-06 Thread David King

On 2011-04-02 16:12, Murray Cumming murr...@murrayc.com wrote:

On Fri, 2011-03-18 at 23:42 +0100, Murray Cumming wrote:

libegg has lots of directories that have just a README saying how the
code has successfully moved into GTK+. But that's mostly old news now.
If there's no objection then I'll remove the directories so it's easier
to see at a glance what's still interesting.


Maybe GDL (used in Anjuta)
http://git.gnome.org/browse/gdl
is the more up-to-date equivalent for EggDock
http://git.gnome.org/browse/libegg/tree/libegg/dock

If there's no objection, I'm likely to remove EggDock too.


I removed EggDock. See 
http://git.gnome.org/browse/libegg/commit/?id=6b18361ab8f462a8039c11f8d731e3f9110eefdd

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


handling of duplicate _STRING and _FILENAME options in GOption

2011-04-06 Thread Jan Kneschke
Hi,

I run into a problem with the error-handling of g_option_context_parse() and 
trying to understand the of the context-changes list.

As far as I see the job of context-changes is to revert the changes applied to 
the arg_data's by the parsing to the original state in case of an error like 
specifying a unknown option.

In case that a _STRING and _FILENAME option is specified twice restoring the 
original value fails and the arg_data points to a already freed memory location:

==53227== Invalid free() / delete / delete[]
==53227==at 0x1FC7C: free (vg_replace_malloc.c:366)
==53227==by 0x10DC1: main (goption-cli.c:46)
==53227==  Address 0x1056dd870 is 0 bytes inside a block of size 7 free'd
==53227==at 0x1FC7C: free (vg_replace_malloc.c:366)
==53227==by 0x10005A623: parse_arg (in /opt/local/lib/libglib-2.0.0.dylib)
==53227==by 0x10005AA56: parse_long_option (in 
/opt/local/lib/libglib-2.0.0.dylib)
==53227==by 0x10005B553: g_option_context_parse (in 
/opt/local/lib/libglib-2.0.0.dylib)
==53227==by 0x10D77: main (goption-cli.c:34)

The problem is in parse_arg() for G_OPTION_ARG_FILENAME that does:

  /* first value */
  data = g_strdup (value);
  change = get_change (context, G_OPTION_ARG_FILENAME, entry-arg_data);
  change-prev.str = *(gchar **)entry-arg_data;   /* sets the original value */
  g_free (change-allocated.str); /* noop */
  change-allocated.str = data;
  *(gchar **)entry-arg_data = data;

  /* second value */
  data = g_strdup (value);
  change = get_change (context, G_OPTION_ARG_FILENAME, entry-arg_data); /* 
returns the same Change */
  change-prev.str = *(gchar **)entry-arg_data; /* points to the 'data' of the 
previous round */
  g_free (change-allocated.str); /* BUG: free's the previous data, makes 
change-prev.str pointing to a invalid location */
  change-allocated.str = data;
  *(gchar **)entry-arg_data = data;

in free_changes_list() it does:

  g_free (change-allocated.str);
  *(gchar **)change-arg_data = change-prev.str; /* change-prev.str is 
already invalid */
  
G_OPTION_ARG_STRING has the same problem.

The test-case is attached.




goption-cli.c
Description: Binary data
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Glib: a Win32 discussion

2011-04-06 Thread Paul Davis
On Wed, Apr 6, 2011 at 5:34 PM, Kean Johnston kean.johns...@gmail.com wrote:

 Last, but by no means least, is the reliance on compiled files, like
 compiled schemas (or in the case of Gtk, icon caches). On UNIX systems where
 things are installed in a universally-accessible location, this isn't a
 problem, but on Win32, where multiple applications could all include their
 own private copies of the DLL's, this is a problem. Fixing this is a bit

the same thing applies to anyone who wants to make a relocatable Unix
bundle. i've demonstrated that this is entirely possible even
without any win32-style mechanisms, although it breaks when GSettings
has been used by the desktop to specify modules that GTK should load
which are not included in the bundle. the new binary-only packages of
Ardour3 use the bag of tricks i've come up with to make GTK, Glib,
Gdk-Pixbuf and Pango all find files inside the bundle in preference to
any outside of it. it doesn't require any changes to glib, or gtk etc,
but the app has to do some stuff. see fixup_bundle_environment() (the
OS X or linux cases) here:

http://subversion.ardour.org/svn/ardour2/branches/3.0/gtk2_ardour/main.cc

there is some other stuff in there but a good part has to do with
making the bundle self-contained and self-referencing.

 Thank you for your time reading this, and I welcome comments and debate.

i think that this message was too long and contained too many issues.
i believe you'll get more traction if you:

   (a) divide the issues
   (b) file bug reports in bugzilla, and briefly mention them here
   (c) attach fixes where applicable


--p
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


[OT] n...@naver.com

2011-04-06 Thread Paul Davis
can we remove n...@naver.com from the list? everytime i send a message
to gtk-devel, his mail server refuses my message and sends me back a
message telling me this. i don't care, and i think its rude. does this
happen to anyone else?
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [OT] n...@naver.com

2011-04-06 Thread Olav Vitters
On Wed, Apr 06, 2011 at 08:30:33PM -0400, Paul Davis wrote:
 can we remove n...@naver.com from the list? everytime i send a message
 to gtk-devel, his mail server refuses my message and sends me back a
 message telling me this. i don't care, and i think its rude. does this
 happen to anyone else?

I'll do so if I get a message from him ;)

-- 
Regards,
Olav
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Glib: a Win32 discussion

2011-04-06 Thread Krzysztof KosiƄski
2011/4/6 Kean Johnston kean.johns...@gmail.com:
 Everyone,

 WARNING: long, detailed message. If you don't care about Win32, move on.

Other annoying Windows issues specific to glib:

1. GOption fails hard for filenames which are in a language different
than your Windows. E.g. Chinese or Russian filenames on English
Windows. The arguments passed to main() contain ? in place of the
Chinese / Russian characters and that's just not enough information to
correctly identify the file. More detail in the bug:
https://bugzilla.gnome.org/show_bug.cgi?id=522131

2. GApplication. Mentioned in the mail. This functionality is
traditionally implemented using named mutexes and shared memory.
http://stackoverflow.com/questions/2285110/restrict-application-to-one-instance-per-shell-session-on-windows

3. GSettings using the registry. This means portable apps (in the
sense of apps that you can carry with you on an USB stick:
http://portableapps.com/) cannot use it, because they have to store
the settings somewhere on the USB stick, not in the registry. It
should be possible to use dconf on Windows.

Regards, Krzysztof
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list