View Issue Details

IDProjectCategoryView StatusLast Update
0001865Far ManagerPlugins APIpublic2011-08-28 16:05
ReporterMaximus Assigned ToDrKnS  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0001865: Инициализация массивов цветов в dialog.cpp
Descriptionчтобы ни у кого крышу не срывало... а то мусор в FarColor не есть хорошо
TagsNo tags attached.
Build2179

Activities

Maximus

2011-08-26 11:06

reporter  

Dialog.cpp.diff (1,168 bytes)   
Index: dialog.cpp
===================================================================
--- dialog.cpp	(revision 6633)
+++ dialog.cpp	(working copy)
@@ -1520,7 +1520,7 @@
 	DialogItemEx *CurItem;
 	int X,Y;
 	unsigned I,DrawItemCount;
-	FarColor ItemColor[4];
+	FarColor ItemColor[4]={};
 
 	//   ���� �� �������� ���������, �� ���������.
 	if (IsEnableRedraw ||                // �������� ���������� ?
@@ -1951,7 +1951,7 @@
 				if (CurItem->ListPtr)
 				{
 					//   ����� ���������� ������� �� ��������� ������ ���������
-					FarColor RealColors[VMENU_COLOR_COUNT];
+					FarColor RealColors[VMENU_COLOR_COUNT]={};
 					FarDialogItemColors ListColors={0};
 					ListColors.ColorsCount=VMENU_COLOR_COUNT;
 					ListColors.Colors=RealColors;
@@ -3916,7 +3916,7 @@
 		SetDropDownOpened(TRUE); // ��������� ���� "������" ����������.
 		SetComboBoxPos(CurItem);
 		// ����� ���������� ������� �� ��������� ������ ���������
-		FarColor RealColors[VMENU_COLOR_COUNT];
+		FarColor RealColors[VMENU_COLOR_COUNT]={};
 		FarDialogItemColors ListColors={0};
 		ListColors.ColorsCount=VMENU_COLOR_COUNT;
 		ListColors.Colors=RealColors;
Dialog.cpp.diff (1,168 bytes)   

DrKnS

2011-08-26 11:13

administrator   bugnote:0007548

А смысл?

Плагин заполняет, а не читает. Какая ему разница, что там было?

Maximus

2011-08-26 19:27

reporter   bugnote:0007549

1. чтобы было красиво
2. если плагин "не все" заполнит - у фара крышу сорвет
3. другие структуры (например в GetPluginInfoW) приходят обнуленные, хотя "плагин их заполняет".

DrKnS

2011-08-26 19:37

administrator   bugnote:0007550

если плагин не всё заполнит - оно при обнуленнии тупо черное будет, чем это лучше?

в GetPluginInfoW приходит обнуленная потому что можно её заполнять частично, здесь нельзя.

Maximus

2011-08-26 19:54

reporter   bugnote:0007551

Ладно, еще аргумент - крышу срывает у враппера, который не знает как конвертить цвет в Far2 при вызове плагина.

DrKnS

2011-08-26 20:01

administrator   bugnote:0007552

ничего не понял. почему у анси-враппера не срывает? давай с подробностями.

Maximus

2011-08-26 22:51

reporter   bugnote:0007554

PluginA.cpp:2202 - анси-враппер просто не обращает внимание на то, что в lc->Colors[3], например, содержится мусор.

Ну, ничего, конечно, криминального в этом нет - передаст в плагин фигню какую-нть вместо 0-я в соотвествующем байте. Но некрасиво ведь? Зачем мусор передавать?

Issue History

Date Modified Username Field Change
2011-08-26 11:06 Maximus New Issue
2011-08-26 11:06 Maximus File Added: Dialog.cpp.diff
2011-08-26 11:13 DrKnS Note Added: 0007548
2011-08-26 19:27 Maximus Note Added: 0007549
2011-08-26 19:37 DrKnS Note Added: 0007550
2011-08-26 19:54 Maximus Note Added: 0007551
2011-08-26 20:01 DrKnS Note Added: 0007552
2011-08-26 22:51 Maximus Note Added: 0007554
2011-08-28 16:05 DrKnS Build => 2179
2011-08-28 16:05 DrKnS Status new => closed
2011-08-28 16:05 DrKnS Assigned To => DrKnS
2011-08-28 16:05 DrKnS Resolution open => fixed
2011-08-28 16:05 DrKnS Fixed in Version => 3.0