GList strange behavior

2012-08-14 Thread Vlasov Vitaly
Hi, list.
I can't understand, why g_list_append return different values in my 
callback's(please read source). In first case i got same list, which was 
obtained from arguments. In second case g_list_append returns newly created 
list.
Why result's is are not the same?

In real program, i need to get newly created list pointer in function like 
button_cb(), but don't know how to do it.

source: http://pastebin.com/4gMREKwd

output on my laptop:
INIT list prt: 0x830f080
Created: 0x830f080, arg: 0x830f080
Last list element: 0x832c610
Init list ptr: 0x832c5c0
Second list ptr: 0x830f120
End
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: GList strange behavior

2012-08-14 Thread Ardhan Madras
Hi,

 In button_cb()...
Did you mean Last list element: 0x832c610 is differ from INIT list
prt: 0x830f080?

It's clear because  0x830f080 was the location of first list and
0x832c610 is the last appended list.
g_list_prepend() return to the start of the list, g_list_last() return
the last of the list (address).

 in test_glist()
First you call temp = g_list_insert(test, ...), test = NULL, save the
list to temp pointer to GList,
second, you call temp = g_list_append(test, ...), nothing wrong with
that code! BUT if you suppose to insert 2nd list here, then you are
wrong. Because, test is STILL NULL. It returns the newly allocated
list again, that's why it's differ. You should call call temp =
g_list_append(temp,...) or to insert the next list.

 In real program, i need to get newly created list pointer in function like
 button_cb(), but don't know how to do it.
Just pass it through callback's argument or declare it as global variable.


On Wed, Aug 15, 2012 at 8:04 AM, Vlasov Vitaly vnig...@gmail.com wrote:
 Hi, list.
 I can't understand, why g_list_append return different values in my
 callback's(please read source). In first case i got same list, which was
 obtained from arguments. In second case g_list_append returns newly created
 list.
 Why result's is are not the same?

 In real program, i need to get newly created list pointer in function like
 button_cb(), but don't know how to do it.

 source: http://pastebin.com/4gMREKwd

 output on my laptop:
 INIT list prt: 0x830f080
 Created: 0x830f080, arg: 0x830f080
 Last list element: 0x832c610
 Init list ptr: 0x832c5c0
 Second list ptr: 0x830f120
 End
 ___
 gtk-app-devel-list mailing list
 gtk-app-devel-list@gnome.org
 https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list