When marking a message
as "Replied", "Unread", "Read", etc. manually in IMAP,
a strange behavior occurs that causes C2 to freeze. It
will go to the proper function to handle the marking of
the message, and there it will first select the mailbox
that message is located in by sending the standard
IMAP SELECT command. After sending that command
however, no response from the server is returned and C2
is left in limbo. Furthermore, making the situation even
worse, the whole app freezes and needs to be killed or
Crtl-C'ed after that.
Maybe a memory leak in some location or other strange
problem? Selecting mailboxes usually works flawlessly
except in this case.
Logged In: YES
user_id=89214
I tested this in the non-ui IMAP test module and the setting of message states works fine. This leads me to believe that the bug is somewhere in the ui code that is causeing C2 to lock up at the change of a message state.
Logged In: YES
user_id=89214
It appears that the server does send back a response when
the client SELECT's the right mailbox, but the gdk-run thread
that reads all incoming network data does not get fired and
does not run. I checked the code for something that could be
causing this to happen... but no indication of anything wrong
in the code yet. Ideas, anyone?
Logged In: YES
user_id=89214
a stupid solution just occured to me: whats probably
happening is that the thread of execution is not seperating
from the main gtk thread that also reads the socket on
incoming data. its only the really thing that could cause it
to freeze like that and have the gtk function that reads
incoming socket data not get called. We need to create a new
thread and run with it somewhere down the line of executing
message changing status on IMAP messages.
Logged In: YES
user_id=89214
wrote code to correctly thread out, and marking messages works now.... but only once. App still crashes and/or stops getting net data AFTER correctly marking the message whatever. this fucking sucks.