1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2025-03-10 17:06:37 -04:00

Work-around for detecting end of file, hopefully fixing #518.

This commit is contained in:
Dave Davenport 2016-12-30 17:33:24 +01:00
parent 0865e0f9d4
commit 6e55cb86b9

View file

@ -130,7 +130,6 @@ static void async_read_callback ( GObject *source_object, GAsyncResult *res, gpo
if ( data != NULL ) {
// Absorb separator, already in buffer so should not block.
g_data_input_stream_read_byte ( stream, NULL, NULL );
read_add ( pd, data, len );
g_free ( data );
rofi_view_reload ();
@ -138,6 +137,22 @@ static void async_read_callback ( GObject *source_object, GAsyncResult *res, gpo
g_data_input_stream_read_upto_async ( pd->data_input_stream, &( pd->separator ), 1, G_PRIORITY_LOW, pd->cancel,
async_read_callback, pd );
return;
} else {
GError *error = NULL;
// Absorb separator, already in buffer so should not block.
// If error == NULL end of stream..
g_data_input_stream_read_byte ( stream, NULL, &error);
if ( error == NULL ) {
// Add empty line.
read_add ( pd, "", 0);
rofi_view_reload ();
g_data_input_stream_read_upto_async ( pd->data_input_stream, &( pd->separator ), 1, G_PRIORITY_LOW, pd->cancel,
async_read_callback, pd );
return;
} else {
g_error_free (error);
}
}
if ( !g_cancellable_is_cancelled ( pd->cancel ) ) {
// Hack, don't use get active.