[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kexi] src: Check results of dynamic_cast, add missing initializations, remove unused variables
From: Jaroslaw Staniek <staniek () kde ! org>
Date: 2016-02-29 23:12:16
Message-ID: E1aaWzA-0000sv-EG () scm ! kde ! org
[Download RAW message or body]
Git commit ec6f42db870c911637bfc4c022c8b062e0feef7f by Jaroslaw Staniek.
Committed on 29/02/2016 at 23:07.
Pushed by staniek into branch 'master'.
Check results of dynamic_cast, add missing initializations, remove unused variables
(from Coverity reports)
M +3 -2 src/formeditor/commands.cpp
M +2 -2 src/formeditor/form.cpp
M +3 -2 src/formeditor/formIO.cpp
M +2 -1 src/formeditor/form_p.cpp
M +3 -3 src/formeditor/widgetwithsubpropertiesinterface.cpp
M +0 -1 src/kexiutils/KexiFadeWidgetEffect.cpp
M +1 -2 src/kexiutils/KexiFadeWidgetEffect_p.h
M +10 -3 src/main/KexiMainWindow.cpp
M +3 -0 src/main/KexiMainWindow_p.cpp
M +9 -8 src/plugins/forms/kexiformmanager.cpp
M +16 -13 src/plugins/forms/kexiformscrollview.cpp
M +17 -7 src/plugins/forms/widgets/kexidbform.cpp
M +2 -2 src/plugins/forms/widgets/kexidblineedit.cpp
M +6 -2 src/plugins/importexport/csv/kexicsvimportdialog.cpp
M +0 -1 src/plugins/importexport/csv/kexicsvwidgets.cpp
M +16 -8 src/plugins/queries/kexiqueryview.cpp
M +0 -2 src/plugins/reports/kexireportdesignview.h
M +2 -2 src/plugins/reports/kexireportview.cpp
M +5 -1 src/widget/dataviewcommon/kexiformdataiteminterface.cpp
M +2 -2 src/widget/kexislider.cpp
M +3 -2 src/widget/tableview/KexiDataTableView.cpp
M +11 -9 src/widget/tableview/KexiTableScrollAreaHeader.cpp
http://commits.kde.org/kexi/ec6f42db870c911637bfc4c022c8b062e0feef7f
diff --git a/src/formeditor/commands.cpp b/src/formeditor/commands.cpp
index 0c93364..0402a4d 100644
--- a/src/formeditor/commands.cpp
+++ b/src/formeditor/commands.cpp
@@ -1003,8 +1003,9 @@ void InsertWidgetCommand::execute()
}
//assign item for its widget if it supports DesignTimeDynamicChildWidgetHandler \
interface //(e.g. KexiDBAutoField)
- if (d->form->mode() == Form::DesignMode && \
dynamic_cast<DesignTimeDynamicChildWidgetHandler*>(w)) {
- dynamic_cast<DesignTimeDynamicChildWidgetHandler*>(w)->assignItem(item);
+ DesignTimeDynamicChildWidgetHandler *childHandler = \
dynamic_cast<DesignTimeDynamicChildWidgetHandler*>(w); + if (d->form->mode() == \
Form::DesignMode && childHandler) { + childHandler->assignItem(item);
}
// We add the autoSaveProperties in the modifProp list of the ObjectTreeItem, so \
that they are saved later
diff --git a/src/formeditor/form.cpp b/src/formeditor/form.cpp
index 4088eaa..6d198d3 100644
--- a/src/formeditor/form.cpp
+++ b/src/formeditor/form.cpp
@@ -1520,8 +1520,8 @@ void Form::createPropertiesForWidget(QWidget *w)
const char* propertyName = meta.name();
QWidget *subwidget = subMeta.isValid()//subpropIface
? subpropIface->subwidget() : w;
- WidgetInfo *subwinfo = library()->widgetInfoForClassName(
- subwidget->metaObject()->className());
+ WidgetInfo *subwinfo = subwidget ? library()->widgetInfoForClassName(
+ subwidget->metaObject()->className()) : 0;
// qDebug() << "$$$ " << subwidget->className();
if ( subwinfo
diff --git a/src/formeditor/formIO.cpp b/src/formeditor/formIO.cpp
index a064deb..61b193a 100644
--- a/src/formeditor/formIO.cpp
+++ b/src/formeditor/formIO.cpp
@@ -1141,8 +1141,9 @@ void FormIO::loadWidget(Container *container, const QDomElement \
&el, QWidget *pa }
//assign item for its widget if it supports DesignTimeDynamicChildWidgetHandler \
interface //(e.g. KexiDBAutoField)
- if (container->form()->mode() == Form::DesignMode && \
dynamic_cast<DesignTimeDynamicChildWidgetHandler*>(w)) {
- dynamic_cast<DesignTimeDynamicChildWidgetHandler*>(w)->assignItem(item);
+ DesignTimeDynamicChildWidgetHandler *childHandler = \
dynamic_cast<DesignTimeDynamicChildWidgetHandler*>(w); + if \
(container->form()->mode() == Form::DesignMode && childHandler) { + \
childHandler->assignItem(item); }
// if we are inside a Grid, we need to insert the widget in the good cell
diff --git a/src/formeditor/form_p.cpp b/src/formeditor/form_p.cpp
index c09c453..445afbb 100644
--- a/src/formeditor/form_p.cpp
+++ b/src/formeditor/form_p.cpp
@@ -45,7 +45,8 @@ void DesignModeStyle::drawControl(ControlElement element, const \
QStyleOption *op template <class StyleOptionClass>
static StyleOptionClass *cloneStyleOption(const QStyleOption *option)
{
- return new StyleOptionClass( *qstyleoption_cast<const StyleOptionClass*>(option) \
); + const StyleOptionClass *o = qstyleoption_cast<const \
StyleOptionClass*>(option); + return o ? new StyleOptionClass(*o) : new \
StyleOptionClass(); }
QStyleOption* DesignModeStyle::alterOption(ControlElement element, const \
QStyleOption *option) const
diff --git a/src/formeditor/widgetwithsubpropertiesinterface.cpp \
b/src/formeditor/widgetwithsubpropertiesinterface.cpp index 903fa0c..0bfb841 100644
--- a/src/formeditor/widgetwithsubpropertiesinterface.cpp
+++ b/src/formeditor/widgetwithsubpropertiesinterface.cpp
@@ -56,15 +56,15 @@ void WidgetWithSubpropertiesInterface::setSubwidget(QWidget \
*widget) d->subwidget = widget;
d->subproperties.clear();
QSet<QByteArray> addedSubproperties;
- if (d->subwidget) {
+ const QObject *thisObject = dynamic_cast<const QObject*>(this);
+ if (thisObject && d->subwidget) {
//remember properties in the subwidget that are not present in the parent
for (const QMetaObject *metaObject = d->subwidget->metaObject(); metaObject;
metaObject = metaObject->superClass()) {
QList<QMetaProperty> properties(
KexiUtils::propertiesForMetaObjectWithInherited(metaObject));
foreach(const QMetaProperty &property, properties) {
- if (dynamic_cast<QObject*>(this)
- && -1 != \
dynamic_cast<QObject*>(this)->metaObject()->indexOfProperty(property.name()) + \
if (-1 != thisObject->metaObject()->indexOfProperty(property.name()) && \
!addedSubproperties.contains(property.name())) {
d->subproperties.insert(property.name());
diff --git a/src/kexiutils/KexiFadeWidgetEffect.cpp \
b/src/kexiutils/KexiFadeWidgetEffect.cpp index 660c5f8..7e792f9 100644
--- a/src/kexiutils/KexiFadeWidgetEffect.cpp
+++ b/src/kexiutils/KexiFadeWidgetEffect.cpp
@@ -97,7 +97,6 @@ KexiFadeWidgetEffect::KexiFadeWidgetEffect(QWidget *destWidget, int \
defaultDurat : QWidget(destWidget ? destWidget->parentWidget() : 0),
d(new KexiFadeWidgetEffectPrivate(destWidget))
{
- d->q = this;
d->defaultDuration = defaultDuration;
Q_ASSERT(destWidget && destWidget->parentWidget());
if (!destWidget || !destWidget->parentWidget() || !destWidget->isVisible() ||
diff --git a/src/kexiutils/KexiFadeWidgetEffect_p.h \
b/src/kexiutils/KexiFadeWidgetEffect_p.h index 268b396..d99ae64 100644
--- a/src/kexiutils/KexiFadeWidgetEffect_p.h
+++ b/src/kexiutils/KexiFadeWidgetEffect_p.h
@@ -29,8 +29,7 @@
class KexiFadeWidgetEffectPrivate
{
public:
- KexiFadeWidgetEffectPrivate(QWidget *_destWidget);
- KexiFadeWidgetEffect *q;
+ explicit KexiFadeWidgetEffectPrivate(QWidget *_destWidget);
QPixmap transition(const QPixmap &from, const QPixmap &to, qreal amount) const;
void finished();
diff --git a/src/main/KexiMainWindow.cpp b/src/main/KexiMainWindow.cpp
index 83c4c53..101e13b 100644
--- a/src/main/KexiMainWindow.cpp
+++ b/src/main/KexiMainWindow.cpp
@@ -250,21 +250,28 @@ void KexiMainWindowTabWidget::mousePressEvent(QMouseEvent \
*event)
void KexiMainWindowTabWidget::closeTab()
{
- dynamic_cast<KexiMainWindow*>(KexiMainWindowIface::global())->closeWindowForTab(m_tabIndex);
+ KexiMainWindow *main = \
dynamic_cast<KexiMainWindow*>(KexiMainWindowIface::global()); + if (main) {
+ main->closeWindowForTab(m_tabIndex);
+ }
}
tristate KexiMainWindowTabWidget::closeAllTabs()
{
tristate alternateResult = true;
QList<KexiWindow*> windowList;
+ KexiMainWindow *main = \
dynamic_cast<KexiMainWindow*>(KexiMainWindowIface::global()); + if (!main) {
+ return alternateResult;
+ }
for (int i = 0; i < count(); i++) {
- KexiWindow *window = \
dynamic_cast<KexiMainWindow*>(KexiMainWindowIface::global())->windowForTab(i); + \
KexiWindow *window = main->windowForTab(i); if (window) {
windowList.append(window);
}
}
foreach (KexiWindow *window, windowList) {
- tristate result = \
dynamic_cast<KexiMainWindow*>(KexiMainWindowIface::global())->closeWindow(window); + \
tristate result = main->closeWindow(window); if (result != true && result != false) \
{ return result;
}
diff --git a/src/main/KexiMainWindow_p.cpp b/src/main/KexiMainWindow_p.cpp
index d89cc19..d72e2a0 100644
--- a/src/main/KexiMainWindow_p.cpp
+++ b/src/main/KexiMainWindow_p.cpp
@@ -1345,6 +1345,9 @@ void \
KexiMainWindow::Private::setTabBarVisible(KMultiTabBar::KMultiTabBarPositio
KexiDockWidget *dockWidget, bool \
visible) {
KMultiTabBar *mtbar = multiTabBars.value(position);
+ if (!mtbar) {
+ return;
+ }
if (!visible) {
mtbar->removeTab(id);
}
diff --git a/src/plugins/forms/kexiformmanager.cpp \
b/src/plugins/forms/kexiformmanager.cpp index d7fc7ce..7b5e089 100644
--- a/src/plugins/forms/kexiformmanager.cpp
+++ b/src/plugins/forms/kexiformmanager.cpp
@@ -345,17 +345,18 @@ KexiFormView* KexiFormManager::activeFormViewWidget() const
KexiWindow *currentWindow = KexiMainWindowIface::global()->currentWindow();
if (!currentWindow)
return 0;
- KexiView *currentView = currentWindow->selectedView();
- KFormDesigner::Form *form;
- if (!currentView
- || currentView->viewMode()!=Kexi::DesignViewMode
- || !dynamic_cast<KexiFormView*>(currentView)
- || !(form = dynamic_cast<KexiFormView*>(currentView)->form())
- )
- {
+ KexiFormView *currentView = \
dynamic_cast<KexiFormView*>(currentWindow->selectedView()); + if (!currentView || \
currentView->viewMode()!=Kexi::DesignViewMode) { + return 0;
+ }
+ KFormDesigner::Form *form = currentView->form();
+ if (!form) {
return 0;
}
KexiDBForm *dbform = dynamic_cast<KexiDBForm*>(form->formWidget());
+ if (!dbform) {
+ return 0;
+ }
KexiFormScrollView *scrollViewWidget = \
dynamic_cast<KexiFormScrollView*>(dbform->dataAwareObject()); if (!scrollViewWidget)
return 0;
diff --git a/src/plugins/forms/kexiformscrollview.cpp \
b/src/plugins/forms/kexiformscrollview.cpp index 931567d..c8d3fbe 100644
--- a/src/plugins/forms/kexiformscrollview.cpp
+++ b/src/plugins/forms/kexiformscrollview.cpp
@@ -447,10 +447,15 @@ void KexiFormScrollView::valueChanged(KexiDataItemInterface* \
item)
dbFormWidget()->editedItem = dynamic_cast<KexiFormDataItemInterface*>(item);
startEditCurrentCell();
}
- fillDuplicatedDataItems(dynamic_cast<KexiFormDataItemInterface*>(item), \
item->value());
-
- //value changed: clear 'default value' mode (e.g. a blue italic text)
- dynamic_cast<KexiFormDataItemInterface*>(item)->setDisplayDefaultValue(dynamic_cast<QWidget*>(item), \
false); + KexiFormDataItemInterface *formItem = \
dynamic_cast<KexiFormDataItemInterface*>(item); + if (formItem) {
+ fillDuplicatedDataItems(formItem, item->value());
+ QWidget *widget = dynamic_cast<QWidget*>(item);
+ if (widget) {
+ //value changed: clear 'default value' mode (e.g. a blue italic text)
+ formItem->setDisplayDefaultValue(widget, false);
+ }
+ }
}
bool KexiFormScrollView::cursorAtNewRecord() const
@@ -524,16 +529,14 @@ bool KexiFormScrollView::cancelEditor()
void KexiFormScrollView::updateAfterCancelRecordEditing()
{
foreach(KexiFormDataItemInterface *dataItemIface, m_dataItems) {
- if (dynamic_cast<QWidget*>(dataItemIface)) {
- qDebug()
- << dynamic_cast<QWidget*>(dataItemIface)->metaObject()->className() \
<< " "
- << dynamic_cast<QWidget*>(dataItemIface)->objectName();
+ QWidget *w = dynamic_cast<QWidget*>(dataItemIface);
+ if (w) {
+ qDebug() << w->metaObject()->className() << w->objectName();
+ const bool displayDefaultValue = \
shouldDisplayDefaultValueForItem(dataItemIface); + \
dataItemIface->undoChanges(); + if \
(dataItemIface->hasDisplayedDefaultValue() != displayDefaultValue) + \
dataItemIface->setDisplayDefaultValue(w, displayDefaultValue); }
- const bool displayDefaultValue = \
shouldDisplayDefaultValueForItem(dataItemIface);
- dataItemIface->undoChanges();
- if (dataItemIface->hasDisplayedDefaultValue() != displayDefaultValue)
- dataItemIface->setDisplayDefaultValue(
- dynamic_cast<QWidget*>(dataItemIface), displayDefaultValue);
}
recordNavigator()->showEditingIndicator(false);
dbFormWidget()->editedItem = 0;
diff --git a/src/plugins/forms/widgets/kexidbform.cpp \
b/src/plugins/forms/widgets/kexidbform.cpp index 8e445f8..4f8196d 100644
--- a/src/plugins/forms/widgets/kexidbform.cpp
+++ b/src/plugins/forms/widgets/kexidbform.cpp
@@ -319,8 +319,10 @@ bool KexiDBForm::eventFilter(QObject * watched, QEvent * e)
if (widgetToFocus) {
widgetToFocus->setFocus();
- if (dynamic_cast<KexiFormDataItemInterface*>(widgetToFocus))
- \
dynamic_cast<KexiFormDataItemInterface*>(widgetToFocus)->selectAllOnFocusIfNeeded(); \
+ KexiFormDataItemInterface *formItem = \
dynamic_cast<KexiFormDataItemInterface*>(widgetToFocus); + if \
(formItem) { + formItem->selectAllOnFocusIfNeeded();
+ }
}
else {
qWarning() << "widgetToFocus not found!";
@@ -360,11 +362,18 @@ bool KexiDBForm::eventFilter(QObject * watched, QEvent * e)
return true; //ignore
//the watched widget can be a subwidget of a real widget, e.g. \
autofield: find it //QWidget* realWidget = static_cast<QWidget*>(watched);
- while (dynamic_cast<KexiDataItemInterface*>(realWidget) && \
dynamic_cast<KexiDataItemInterface*>(realWidget)->parentDataItemInterface())
- realWidget = \
dynamic_cast<QWidget*>(dynamic_cast<KexiDataItemInterface*>(realWidget)->parentDataItemInterface());
+ KexiDataItemInterface *iface;
+ while ((iface = dynamic_cast<KexiDataItemInterface*>(realWidget))
+ && iface->parentDataItemInterface())
+ {
+ realWidget = \
dynamic_cast<QWidget*>(iface->parentDataItemInterface()); + }
d->setOrderedFocusWidgetsIteratorTo(realWidget);
- dynamic_cast<KexiDataItemInterface*>(realWidget)->moveCursorToEnd();
+ iface = dynamic_cast<KexiDataItemInterface*>(realWidget);
+ if (iface) {
+ iface->moveCursorToEnd();
+ }
//qDebug() << realWidget->objectName();
@@ -429,9 +438,10 @@ bool KexiDBForm::eventFilter(QObject * watched, QEvent * e)
(*d->orderedFocusWidgetsIterator)->setFocus();
//qDebug() << "focusing " << \
(*d->orderedFocusWidgetsIterator)->objectName(); }
- if (dynamic_cast<KexiFormDataItemInterface*>(widgetToSelectAll)) \
{ + KexiFormDataItemInterface *formItem = \
dynamic_cast<KexiFormDataItemInterface*>(widgetToSelectAll); + if \
(formItem) {
//qDebug() << "widgetToSelectAll:" << widgetToSelectAll;
- \
dynamic_cast<KexiFormDataItemInterface*>(widgetToSelectAll)->selectAllOnFocusIfNeeded();
+ formItem->selectAllOnFocusIfNeeded();
}
}
return true;
diff --git a/src/plugins/forms/widgets/kexidblineedit.cpp \
b/src/plugins/forms/widgets/kexidblineedit.cpp index 7332778..adb4ff6 100644
--- a/src/plugins/forms/widgets/kexidblineedit.cpp
+++ b/src/plugins/forms/widgets/kexidblineedit.cpp
@@ -70,7 +70,7 @@ public:
QRect subElementRect(SubElement element, const QStyleOption *option, const \
QWidget *widget = 0) const {
const KFormDesigner::FormWidgetInterface *formWidget = dynamic_cast<const \
KFormDesigner::FormWidgetInterface*>(widget);
- if (formWidget->designMode()) {
+ if (formWidget && formWidget->designMode()) {
const KexiFormDataItemInterface *dataItemIface = dynamic_cast<const \
KexiFormDataItemInterface*>(widget);
if (dataItemIface && !dataItemIface->dataSource().isEmpty() && \
!formWidget->editingMode()) { if (element == SE_LineEditContents) {
@@ -313,7 +313,7 @@ void KexiDBLineEdit::paintEvent(QPaintEvent *pe)
{
QLineEdit::paintEvent(pe);
KFormDesigner::FormWidgetInterface *formWidget = \
dynamic_cast<KFormDesigner::FormWidgetInterface*>(this);
- if (formWidget->designMode()) {
+ if (formWidget && formWidget->designMode()) {
KexiFormDataItemInterface *dataItemIface = \
dynamic_cast<KexiFormDataItemInterface*>(this);
if (dataItemIface && !dataItemIface->dataSource().isEmpty() && \
!formWidget->editingMode()) { // draw "data source tag" icon
diff --git a/src/plugins/importexport/csv/kexicsvimportdialog.cpp \
b/src/plugins/importexport/csv/kexicsvimportdialog.cpp index b7300a2..afa1d90 100644
--- a/src/plugins/importexport/csv/kexicsvimportdialog.cpp
+++ b/src/plugins/importexport/csv/kexicsvimportdialog.cpp
@@ -432,10 +432,11 @@ void KexiCSVImportDialog::next()
KexiPart::Part *part = \
Kexi::partManager().partForPluginId("org.kexi-project.table"); KDbObject tmp;
- tristate res = m_conn->loadObjectData(
+ tristate res = (part && part->info()) ? m_conn->loadObjectData(
project->typeIdForPluginId(part->info()->pluginId()),
m_newTableWidget->nameText(),
- &tmp);
+ &tmp)
+ : false;
if (res == true) {
KMessageBox::information(this,
"<p>"
@@ -444,6 +445,9 @@ void KexiCSVImportDialog::next()
+ "</p><p>" + xi18n("Please choose other name.") + "</p>"
);
return;
+ } else if (res == false) {
+ qFatal("Plugin org.kexi-project.table not found");
+ return;
}
} else {
m_partItemForSavedTable = m_tablesList->selectedPartItem();
diff --git a/src/plugins/importexport/csv/kexicsvwidgets.cpp \
b/src/plugins/importexport/csv/kexicsvwidgets.cpp index b4c6054..f6edf57 100644
--- a/src/plugins/importexport/csv/kexicsvwidgets.cpp
+++ b/src/plugins/importexport/csv/kexicsvwidgets.cpp
@@ -71,7 +71,6 @@ public:
QString commentSymbol;
QVector<QString> availablecommentSymbols;
KComboBox* combo;
- QLineEdit* commentSymbolEdit;
};
KexiCSVDelimiterWidget::KexiCSVDelimiterWidget(bool lineEditOnBottom, QWidget * \
parent)
diff --git a/src/plugins/queries/kexiqueryview.cpp \
b/src/plugins/queries/kexiqueryview.cpp index 8ace272..53749ba 100644
--- a/src/plugins/queries/kexiqueryview.cpp
+++ b/src/plugins/queries/kexiqueryview.cpp
@@ -136,20 +136,28 @@ KDbObject* KexiQueryView::storeNewData(const KDbObject& object,
bool *cancel)
{
KexiView * view = window()->viewThatRecentlySetDirtyFlag();
- if (dynamic_cast<KexiQueryDesignerGuiEditor*>(view))
- return dynamic_cast<KexiQueryDesignerGuiEditor*>(view)->storeNewData(object, \
options, cancel);
- if (dynamic_cast<KexiQueryDesignerSQLView*>(view))
- return dynamic_cast<KexiQueryDesignerSQLView*>(view)->storeNewData(object, \
options, cancel); + KexiQueryDesignerGuiEditor *guiView = \
dynamic_cast<KexiQueryDesignerGuiEditor*>(view); + if (guiView) {
+ return guiView->storeNewData(object, options, cancel);
+ }
+ KexiQueryDesignerSQLView *sqlView = \
dynamic_cast<KexiQueryDesignerSQLView*>(view); + if (sqlView) {
+ return sqlView->storeNewData(object, options, cancel);
+ }
return 0;
}
tristate KexiQueryView::storeData(bool dontAsk)
{
KexiView * view = window()->viewThatRecentlySetDirtyFlag();
- if (dynamic_cast<KexiQueryDesignerGuiEditor*>(view))
- return dynamic_cast<KexiQueryDesignerGuiEditor*>(view)->storeData(dontAsk);
- if (dynamic_cast<KexiQueryDesignerSQLView*>(view))
- return dynamic_cast<KexiQueryDesignerSQLView*>(view)->storeData(dontAsk);
+ KexiQueryDesignerGuiEditor *guiView = \
dynamic_cast<KexiQueryDesignerGuiEditor*>(view); + if (guiView) {
+ return guiView->storeData(dontAsk);
+ }
+ KexiQueryDesignerSQLView *sqlView = \
dynamic_cast<KexiQueryDesignerSQLView*>(view); + if (sqlView) {
+ return sqlView->storeData(dontAsk);
+ }
return false;
}
diff --git a/src/plugins/reports/kexireportdesignview.h \
b/src/plugins/reports/kexireportdesignview.h index 9b93e53..fdc267d 100644
--- a/src/plugins/reports/kexireportdesignview.h
+++ b/src/plugins/reports/kexireportdesignview.h
@@ -51,7 +51,6 @@ Q_SIGNALS:
private:
KReportDesigner *m_reportDesigner;
- KPropertySet *m_propertySet;
KexiReportPart::TempData* tempData() const;
QScrollArea * m_scrollArea;
@@ -61,7 +60,6 @@ private:
QAction *m_editPasteAction;
QAction *m_editDeleteAction;
QAction *m_editSectionAction;
- QAction *m_parameterEdit;
QAction *m_itemRaiseAction;
QAction *m_itemLowerAction;
diff --git a/src/plugins/reports/kexireportview.cpp \
b/src/plugins/reports/kexireportview.cpp index 35ca0b9..298b6c8 100644
--- a/src/plugins/reports/kexireportview.cpp
+++ b/src/plugins/reports/kexireportview.cpp
@@ -54,7 +54,7 @@
#include <QMimeDatabase>
KexiReportView::KexiReportView(QWidget *parent)
- : KexiView(parent), m_preRenderer(0), m_reportDocument(0) //! @todo KEXI3, \
m_kexi(0), m_functions(0) + : KexiView(parent), m_preRenderer(0), \
m_reportDocument(0), m_functions(0) //! @todo KEXI3, m_kexi(0) {
setObjectName("KexiReportDesigner_DataView");
@@ -372,7 +372,7 @@ tristate KexiReportView::afterSwitchFrom(Kexi::ViewMode mode)
// }
// m_preRenderer->registerScriptObject(m_kexi, "Kexi");
//If using a kexidb source, add a functions scripting object
- if (tempData()->connectionDefinition.attribute("type") == "internal") {
+ if (!m_functions && tempData()->connectionDefinition.attribute("type") \
== "internal") {
m_functions = new KRScriptFunctions(reportData, \
KexiMainWindowIface::global()->project()->dbConnection());
m_preRenderer->registerScriptObject(m_functions, "field");
connect(m_preRenderer, SIGNAL(groupChanged(QMap<QString, \
QVariant>)),
diff --git a/src/widget/dataviewcommon/kexiformdataiteminterface.cpp \
b/src/widget/dataviewcommon/kexiformdataiteminterface.cpp index 4500281..a2bd562 \
100644
--- a/src/widget/dataviewcommon/kexiformdataiteminterface.cpp
+++ b/src/widget/dataviewcommon/kexiformdataiteminterface.cpp
@@ -72,7 +72,11 @@ void KexiFormDataItemInterface::cancelEditor()
void KexiFormDataItemInterface::cancelEditor()
{
- QWidget *parentWidget = dynamic_cast<QWidget*>(this)->parentWidget();
+ QWidget *thisWidget = dynamic_cast<QWidget*>(this);
+ if (!thisWidget) {
+ return;
+ }
+ QWidget *parentWidget = thisWidget->parentWidget();
KexiDataAwareObjectInterface *dataAwareObject = \
KexiUtils::findParentByType<KexiDataAwareObjectInterface*>(parentWidget); if \
(dataAwareObject) dataAwareObject->cancelEditor();
diff --git a/src/widget/kexislider.cpp b/src/widget/kexislider.cpp
index 0121a51..9633c56 100644
--- a/src/widget/kexislider.cpp
+++ b/src/widget/kexislider.cpp
@@ -79,13 +79,13 @@ protected:
QStyleOptionSlider option;
initStyleOption(&option);
- const int& ticks( option.tickPosition );
+ const QSlider::TickPosition ticks( option.tickPosition );
const int available(style()->proxy()->pixelMetric(QStyle::PM_SliderSpaceAvailable, \
&option, this)); int interval = option.tickInterval;
if( interval < 1 ) interval = option.pageStep;
if( interval < 1 ) return;
- const QRect& r(option.rect);
+ const QRect r(option.rect);
const QPalette palette(option.palette);
const int fudge(style()->proxy()->pixelMetric(QStyle::PM_SliderLength, \
&option, this) / 2); int current(option.minimum);
diff --git a/src/widget/tableview/KexiDataTableView.cpp \
b/src/widget/tableview/KexiDataTableView.cpp index 11c0a7f..9b3d8c2 100644
--- a/src/widget/tableview/KexiDataTableView.cpp
+++ b/src/widget/tableview/KexiDataTableView.cpp
@@ -110,9 +110,10 @@ bool KexiDataTableView::loadTableViewSettings(KDbTableViewData* \
data) void
KexiDataTableView::setData(KDbCursor *c)
{
- if (!dynamic_cast<KexiDataTableScrollArea*>(mainWidget()))
+ KexiDataTableScrollArea* area = \
dynamic_cast<KexiDataTableScrollArea*>(mainWidget()); + if (!area)
return;
- dynamic_cast<KexiDataTableScrollArea*>(mainWidget())->setData(c);
+ area->setData(c);
}
void KexiDataTableView::filter()
diff --git a/src/widget/tableview/KexiTableScrollAreaHeader.cpp \
b/src/widget/tableview/KexiTableScrollAreaHeader.cpp index c3c4f9d..75d8652 100644
--- a/src/widget/tableview/KexiTableScrollAreaHeader.cpp
+++ b/src/widget/tableview/KexiTableScrollAreaHeader.cpp
@@ -51,42 +51,44 @@ public:
const KexiTableScrollAreaHeader *headerWidget
= qobject_cast<const KexiTableScrollAreaHeader*>(parent());
if (ce == CE_Header && option) {
- QStyleOptionHeader newOption(*qstyleoption_cast<const \
QStyleOptionHeader*>(option)); + const QStyleOptionHeader *existingOption \
= qstyleoption_cast<const QStyleOptionHeader*>(option); + \
QScopedPointer<QStyleOptionHeader> newOption( + existingOption ? \
new QStyleOptionHeader(*existingOption) : new QStyleOptionHeader);
const int currentSection = headerWidget->orientation() == Qt::Horizontal
? headerWidget->currentIndex().column()
: headerWidget->currentIndex().row();
// qDebug() << headerWidget->orientation() << currentSection <<
// headerWidget->currentIndex().row() << \
headerWidget->currentIndex().column();
- if (newOption.section >= 0) {
+ if (newOption->section >= 0) {
int f1 = 0, f2 = 0;
- if (newOption.section == currentSection) {
+ if (newOption->section == currentSection) {
f1 = 34;
f2 = 66;
}
else if \
(headerWidget->scrollArea()->appearance().recordMouseOverHighlightingEnabled && \
headerWidget->orientation() == Qt::Vertical
- && newOption.section == \
headerWidget->scrollArea()->highlightedRecordNumber()) + && \
newOption->section == headerWidget->scrollArea()->highlightedRecordNumber()) {
f1 = 10;
f2 = 90;
}
if (f1 > 0) {
- newOption.palette.setColor(QPalette::Button,
+ newOption->palette.setColor(QPalette::Button,
KexiUtils::blendedColors(
headerWidget->selectionBackgroundColor(),
\
headerWidget->palette().color(headerWidget->backgroundRole()), f1, f2));
//set background color as well (e.g. for thinkeramik)
- newOption.palette.setColor(QPalette::Window, \
newOption.palette.color(QPalette::Button)); + \
newOption->palette.setColor(QPalette::Window, \
newOption->palette.color(QPalette::Button)); }
if (headerWidget->orientation() == Qt::Vertical) {
// For mouse-over styles such as Breeze fill color and animate,
// what's in conflict with what we do: disable this.
- newOption.state &= (0xffffffff ^ QStyle::State_MouseOver);
- //qDebug() << newOption.rect;
+ newOption->state &= (0xffffffff ^ QStyle::State_MouseOver);
+ //qDebug() << newOption->rect;
}
- QProxyStyle::drawControl(ce, &newOption, painter, widget);
+ QProxyStyle::drawControl(ce, newOption.data(), painter, widget);
return;
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic