fix bug where plugin would crash if decoder hits unexpected end of file
diff --git a/src/plugin_winamp2/in_flac.c b/src/plugin_winamp2/in_flac.c
index d172aca..003c017 100644
--- a/src/plugin_winamp2/in_flac.c
+++ b/src/plugin_winamp2/in_flac.c
@@ -276,8 +276,11 @@
 					done = 1;
 					break;
 				}
-				else if(!FLAC__file_decoder_process_one_frame(decoder_))
+				else if(!FLAC__file_decoder_process_one_frame(decoder_)) {
+					MessageBox(mod_.hMainWindow, FLAC__FileDecoderStateString[FLAC__file_decoder_get_state(decoder_)], "READ ERROR processing frame", 0);
+					done = 1;
 					break;
+				}
 			}
 
 			if (samples_in_reservoir_ == 0) {
diff --git a/src/plugin_winamp3/flacpcm.cpp b/src/plugin_winamp3/flacpcm.cpp
index c35f7d8..88c73b6 100644
--- a/src/plugin_winamp3/flacpcm.cpp
+++ b/src/plugin_winamp3/flacpcm.cpp
@@ -152,8 +152,11 @@
 			eof = true;

 			break;

 		}

-		else if(!FLAC__seekable_stream_decoder_process_one_frame(decoder))

+		else if(!FLAC__seekable_stream_decoder_process_one_frame(decoder)) {

+			//@@@ how to do this?  MessageBox(mod_.hMainWindow, FLAC__FileDecoderStateString[FLAC__file_decoder_get_state(decoder_)], "READ ERROR processing frame", 0);

+			eof = true;

 			break;

+		}

 	}

 

 	if(samples_in_reservoir == 0) {

diff --git a/src/plugin_xmms/plugin.c b/src/plugin_xmms/plugin.c
index 61f185f..6052182 100644
--- a/src/plugin_xmms/plugin.c
+++ b/src/plugin_xmms/plugin.c
@@ -307,8 +307,12 @@
 					file_info_.eof = true;
 					break;
 				}
-				else if(!FLAC__file_decoder_process_one_frame(decoder_))
+				else if(!FLAC__file_decoder_process_one_frame(decoder_)) {
+					/*@@@ this should probably be a dialog */
+					fprintf(stderr, "libxmms-flac: READ ERROR processing frame\n");
+					file_info_.eof = true;
 					break;
+				}
 			}
 			if(reservoir_samples_ > 0) {
 				const unsigned channels = file_info_.channels;