so. write_person() is TOTALLY broken, it sends to the wrong buddy, to no buddy, and the debug output is freaky, and i'm ont sure what's up. not sure where all these people with null and "" names are coming from, esp. when they work in every other function.... *sigh* if this project were trying to teach me humility, it couldn't be doing much better. i've pretty much realized i don't have to change conversation.c except to replace calls to serve_send_im with write_person, but it would help if i could figure out why write_person isn't working. on top of that, a friend who was helping me look at it, finds segfaults that i don't get left and right. why i manage to avoid all the segfault conditions i'm not sure, but at least segfaults are easier to find and fix than screwwy results.
I added in person support to the core last night, after a little bit of trouble with find_buddy, i managed to get things in a nice transitional state. next big step is to make a struct conversation be assoicated with a person/person_show (not sure which is best yet. *grumbles* conversation.c is NOT core/ui split) so that i can remove the gc from it, and use write_person so that you'll automatically send to the person with the highest priority. once i've got that done, i can finish stripping out alot of the gaim_connections from slist.c (replaces buddy.c), and start to add the edit_buddy code back in. adding that back in will take alot of thought. turns out i can't drag and drop a GtkTree the way i can a GtkCtree, so i'm not sure right now what i'm going to do. i do like the idea of edit_mode better than edit_tab, but if i have to use 2 different trees.... we'll see.
UGH. so there is an idiot on my subnet at work. Someone in one of the other labs gave 2 machines the same ip address, and I've been getting arp reports about it since yesterday. Sent an email out to get it fixed, but as of 9:30est, hasn't been yet. Pain in the neck. Unfortunately, I have to run arp because scientists have the unfortunate tendency to do things like change their ip number randomly with some frequency, but as support people, we are SUPPOSED to be watching for that and to fix it asap. *sigh* and THIS is why i managed to convince the higherups to move most of the work stations to a dhcp solution. Oh, and for some reason i can't seem to get the i and em tags to close here.
so i gave up on my first try at person support in gaim, copied gaim.work to gaim.doesn't, started over. this time going to start with simply splitting buddy.c into core and ui, then add person support to the ui, then to the core, then the ability to edit things. a much slowwer way to do it, but a way that's debugable at each step. it wouldn't annoy me so much if it had occured to me to do it this way when i started this 2 weeks ago, but that's life for you. win some, loose some, learn either way. ChipX86 was cool and made some offline icons for gaim, so i can at least start working on that as i do the rest instead of having to add it in monolitically.
so. as i expected on seeing what was happening last night, things aren't going well. as i said, so much for catching up. but i am fixing bugs slowly but surely, and if i can ever figure out why there's only one person in each group despite the number of online buddies in that group, and why the person showing as online isn't always accurate even for that first person, then maybe the progress will pick up. one can hope;-) thanks for your help ChipX86.
UUGGHH!!! something is truncating, or not really truncating, its cutting off random amounts from the FRONT of each screenname, causing all the person_shows to be really really messed up, and i can't figure out where! so much for making progress this weekend...
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!