|
@@ -208,7 +208,16 @@ public class ProcessListModes extends IRCProcessor {
|
208
|
208
|
if (isCleverMode || listModeQueue == null || ((LinkedList<Character>)listModeQueue).size() == 0) {
|
209
|
209
|
callDebugInfo(IRCParser.DEBUG_INFO, "Calling GotListModes");
|
210
|
210
|
channel.setHasGotListModes(true);
|
211
|
|
- callChannelGotListModes(channel);
|
|
211
|
+
|
|
212
|
+ if (isCleverMode) {
|
|
213
|
+ for (Character thisMode : myParser.chanModesOther.keySet()) {
|
|
214
|
+ if (myParser.chanModesOther.get(thisMode) == IRCParser.MODE_LIST) {
|
|
215
|
+ callChannelGotListModes(channel, thisMode);
|
|
216
|
+ }
|
|
217
|
+ }
|
|
218
|
+ } else {
|
|
219
|
+ callChannelGotListModes(channel, mode);
|
|
220
|
+ }
|
212
|
221
|
}
|
213
|
222
|
}
|
214
|
223
|
}
|
|
@@ -237,10 +246,11 @@ public class ProcessListModes extends IRCProcessor {
|
237
|
246
|
*
|
238
|
247
|
* @see IChannelGotListModes
|
239
|
248
|
* @param cChannel Channel which the ListModes reply is for
|
|
249
|
+ * @param mode the mode that we got list modes for.
|
240
|
250
|
* @return true if a method was called, false otherwise
|
241
|
251
|
*/
|
242
|
|
- protected boolean callChannelGotListModes(ChannelInfo cChannel) {
|
243
|
|
- return getCallbackManager().getCallbackType(ChannelListModeListener.class).call(cChannel);
|
|
252
|
+ protected boolean callChannelGotListModes(ChannelInfo cChannel, final char mode) {
|
|
253
|
+ return getCallbackManager().getCallbackType(ChannelListModeListener.class).call(cChannel, mode);
|
244
|
254
|
}
|
245
|
255
|
|
246
|
256
|
/**
|